개요
hexdump는 파일의 내용을 8비트 바이트 단위로 읽어 16진수 형식으로 변환하여 출력합니다. 이 명령어는 특히 실행 파일, 이미지, 오디오 파일과 같은 바이너리 파일의 내용을 시각적으로 분석할 때 사용됩니다. 일반적인 텍스트 편집기로 열면 깨져 보이는 내용도 hexdump를 사용하면 오프셋(위치), 16진수 값, 그리고 가능한 경우 ASCII 문자열까지 함께 볼 수 있어 파일의 구조를 파악하는 데 큰 도움이 됩니다.
주요 특징
hexdump 명령어의 주요 특징은 다음과 같습니다.
- 파일의 내용을 16진수, 8진수, 10진수 등 다양한 형식으로 출력합니다.
- 바이너리 파일의 내용을 분석하는 데 적합합니다.
- 출력 형식을 지정하여 원하는 형태로 결과를 볼 수 있습니다.
- 파이프(`|`)와 함께 사용하여 다른 명령어의 출력 결과를 분석할 수 있습니다.
출력 형식
hexdump의 출력은 일반적으로 세 부분으로 구성됩니다.
- 오프셋(Offset): 파일의 시작부터 현재 위치까지의 바이트 수를 나타냅니다. 기본적으로 16진수 형식으로 출력됩니다.
- 바이트 데이터: 파일 내용의 실제 바이트 값을 16진수 형식으로 보여줍니다.
- ASCII 문자열: 바이트 데이터를 사람이 읽을 수 있는 ASCII 문자로 변환하여 보여줍니다. 인쇄 가능한 문자가 아닐 경우 점(.)으로 표시됩니다.
주요 옵션
자주 사용하는 hexdump 명령어의 옵션을 목적에 따라 그룹화했습니다.
1) 출력 옵션
2) 도움말
생성된 명령어:
명령어를 조합해 보세요.
설명:
`hexdump` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
hexdump 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.
파일 내용 정규 형식으로 출력
hexdump -C /bin/cat | head
가장 흔하게 사용되는 형식으로, `/bin/cat` 파일의 시작 부분을 정규 형식으로 출력합니다.
파일의 특정 위치부터 출력
hexdump -C -s 0x20 -n 32 hexdump.test
`hexdump.test` 파일의 16진수 오프셋 `0x20`부터 `32`바이트만큼의 내용을 출력합니다.
특수 문자 확인
echo 'Hello\nWorld' | hexdump -C
줄바꿈(`\n`) 문자가 포함된 텍스트 파일의 내용을 16진수로 확인합니다. `0a`는 줄바꿈 문자의 16진수 값입니다.
파이프(|)와 함께 사용
strings /bin/cat | hexdump -C
`strings` 명령의 출력 결과를 `hexdump`로 파이핑하여, 추출된 문자열의 16진수 값을 분석합니다.
팁 & 주의사항
hexdump 명령어 사용 시 유의할 점들을 정리했습니다.
팁
- `hexdump`는 바이너리 파일을 다룰 때 매우 강력한 도구입니다. 파일의 헤더나 특정 바이트 값을 확인하여 파일의 유형을 추정할 수 있습니다.
- 바이너리 파일 전체를 출력하면 터미널이 멈출 수 있으므로, `-n` 옵션이나 `head` 명령을 함께 사용하는 것이 좋습니다.
- `od`(`octal dump`) 명령은 `hexdump`와 유사하며, 기본적으로 8진수 형식으로 출력합니다.