od コマンドは、ファイルや標準入力の内容を人間が読みやすい形式(8進数, 16進数, ASCII など)で表示 するコマンドです。
バイナリファイルの内容を確認したり、デバッグやファイルフォーマット解析に役立ちます。
構文(Syntax)
od [オプション] [ファイル...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-b | 1バイトごとに8進数で表示 | od -b file.bin |
-c | ASCII 文字として表示(制御文字はエスケープ表示) | od -c file.bin |
-x | 2バイトごとに16進数で表示 | od -x file.bin |
-t TYPE | 出力形式を指定(x1, x2, x4, d, o, c など) | od -t x1 file.bin |
-A RADIX | アドレスの基数を指定(d=10進, o=8進, x=16進, n=非表示) | od -A x file.bin |
-j N | 先頭から N バイトをスキップ | od -j 16 file.bin |
-N N | N バイトだけ表示 | od -N 32 file.bin |
-v | 省略せずすべて表示(同じ行が省略されるのを防ぐ) | od -v file.bin |
実行例
ファイルを16進数で表示(1バイト単位)
od -t x1 sample.bin
出力例:
0000000 48 65 6c 6c 6f 20 57 6f 72 6c 64 0a
0000014
(ASCII で “Hello World\n” に相当)
ASCII 文字で表示
od -c sample.bin
出力例:
0000000 H e l l o W o r l d \n
0000014
先頭16バイトをスキップして表示
od -t x1 -j 16 sample.bin
最初の32バイトだけ表示
od -t x1 -N 32 sample.bin
アドレスを16進数で表示
od -A x -t x1 sample.bin
出力例:
000000 48 65 6c 6c 6f 20 57 6f
000008 72 6c 64 0a
同一内容の繰り返しを省略せず表示
od -Ax -tx1 -v sample.bin
標準入力を解析
echo "test" | od -t x1
出力例:
0000000 74 65 73 74 0a
0000005
エラー例(存在しないファイル指定)
od notfound.bin
出力例:
od: cannot open 'notfound.bin' for reading: No such file or directory
関連コマンド
hexdump: 16進数表示に特化したコマンドxxd: Vim 付属の16進数ダンプ/逆変換ツールstrings: バイナリからテキスト文字列を抽出
備考
odは octal dump の略で、元々は8進数出力がデフォルトでした。- 近年は16進数(
-xや-t x1)で使われることが多いです。 - バイナリ解析やデバッグでは
xxdと並んでよく利用されます。
参考
- manページ: man7.org od(1)
- GNU Coreutils: https://www.gnu.org/software/coreutils/

コメント