hexdump コマンドは、ファイルや標準入力の内容を 16進数(hexadecimal)形式 や ASCII 形式 で表示するコマンドです。
実務では、バイナリファイルの中身を確認したり、デバッグやデータ解析に利用されます。
構文(Syntax)
hexdump [オプション] [FILE...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | 16進数で出力(簡易形式) | hexdump file.bin |
-C | 16進数とASCII文字を併記(よく使われる) | hexdump -C file.bin |
-n N | 先頭 N バイトだけを表示 | hexdump -n 64 file.bin |
-s N | 先頭から N バイトをスキップして表示 | hexdump -s 16 file.bin |
-v | 同じ行が続いても省略せず表示 | hexdump -v file.bin |
-e FORMAT | 独自の出力形式を指定 | hexdump -e '16/1 "%02X " "\n"' file.bin |
-f FORMATFILE | フォーマットファイルを指定して出力 | hexdump -f format.txt file.bin |
実行例
バイナリファイルを16進数で表示
hexdump file.bin
出力例(例示):
0000000 4865 6c6c 6f20 776f 726c 640a
000000c
16進数とASCIIを併記
hexdump -C file.bin
出力例:
00000000 48 65 6c 6c 6f 20 77 6f 72 6c 64 0a |Hello world.|
先頭64バイトのみ表示
hexdump -n 64 -C file.bin
16バイト目から表示
hexdump -s 16 -C file.bin
重複行を省略せずに出力
hexdump -v file.bin
独自フォーマットで表示(16進大文字)
hexdump -e '16/1 "%02X " "\n"' file.bin
出力例:
48 65 6C 6C 6F 20 57 6F 72 6C 64 0A
エラー例(存在しないファイルを指定)
hexdump missing.bin
出力例:
hexdump: missing.bin: No such file or directory
関連コマンド
xxd: バイナリを16進数・ASCIIで表示(逆変換も可能)od: バイナリを8進数や16進数で表示(hexdumpの下位互換的コマンド)strings: バイナリから文字列を抽出file: ファイルの種類を判定
備考
-Cオプションはデバッグで最もよく使われる形式(hex + ASCII 表示)。hexdumpはodと同系統のツールであり、出力フォーマットを細かく指定可能。- 巨大ファイルを扱う際には
-nや-sを活用して必要な部分だけ確認すると効率的。
参考
- manページ: man7.org hexdump(1)
- BSD hexdump: https://man.freebsd.org/cgi/man.cgi?hexdump

コメント