본문 바로가기
IT/LINUX

리눅스 데이타,파일을 16진수로 변환하는 xxd 명령어

by SidePower 2020. 8. 17.

리눅스 통신 프로그램 관련 업무를 하다보면
오류가 발생하거나 수신측 업무단에서
이상한 데이타가 수신됐다고 문의가 올때가 있어요.

16진수 변환 XXD

로그파일 확인해 보니 다행히 서버 인코딩에 맞는 데이타면
그대로 복사해서 수신측과 비교하면 될거에요.

하지만 서버 인코딩에 맞지 않거나 특수문자 등 일때
로그파일 열어보면 가관이에요.ㅋ

인코딩에 맞지 않아 글자가 깨져 있거나 
아예 표시되지 않고 사라져 보입니다.

이럴경우에 바로 xxd 명령어가 꼭 필요하조.ㅋ

xxd명령어는 데이타 또는 파일안에 내용을
byte로 해석해서 16진수(헥사코드)로 만들어서 표시합니다.

16진수 변환 XXD

기본 사용법

xxd 파일
cat 파일|xxx
echo "good day"|xxx
사진첨부예정

표시양식 : 상대주소 16진수  아스키문자
16byte 로 표시

 


옵션 추가 사용법

-b : 0과 1 비트(bit) 로 표시
xxd -b 파일
사진첨부예정

-c : 한줄에 보여지는 바이트 수 지정
xxd -c 8 파일
사진첨부예정

-E : 아스키문자가 대신 EBCDIC로 데이타 표시
xxd -E 파일
사진첨부예정

-g : 16진수를 몇개씩 묶어 표시할지 지정.
       기본값 2 
xxd -g 1 파일
사진첨부예정

-l : 지정된 상대주소까지 표시
xxd -l 0xc0 파일
사진첨부

-p : 표시양식없이 16진수만 붙여서 표시.
xxd -p 파일
사진첨부

-s : 지정된 상대주소부터 표시
xxd -s 0xa0 파일
사진첨부

-u : 16진수를 대문자로 표시
xxd -u 파일
사진첨부

-r : 표시양식(hexdump)을 데이타로 표시
xxd -r 표시양식(hexdump)
사진첨부

옵션이 몇개 더 있는데요. 이정도면 사는데 지장 없어요.ㅋ

여기까지입니다.

아~ 갑자기 맛있는거 먹고 싶네요.흑



반응형

댓글