od – ファイルを 8進数や16進数などで表示するコマンド

バイナリダンプ

od コマンドは、ファイルや標準入力の内容を人間が読みやすい形式(8進数, 16進数, ASCII など)で表示 するコマンドです。
バイナリファイルの内容を確認したり、デバッグやファイルフォーマット解析に役立ちます。

構文(Syntax)

od [オプション] [ファイル...]

主なオプション一覧

オプション説明使用例
-b1バイトごとに8進数で表示od -b file.bin
-cASCII 文字として表示(制御文字はエスケープ表示)od -c file.bin
-x2バイトごとに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 NN バイトだけ表示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 : バイナリからテキスト文字列を抽出

備考

  • odoctal dump の略で、元々は8進数出力がデフォルトでした。
  • 近年は16進数(-x-t x1)で使われることが多いです。
  • バイナリ解析やデバッグでは xxd と並んでよく利用されます。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント