Linuxの標準コマンドであるodコマンドを使う。
例えば、メモ帳で編集できるテキストファイルはメモ帳で開くと表示されるが、そうではないバイナリファイル(.exeファイルなど)はメモ帳では中身を確認することができない(めちゃくちゃに表示される)。このコマンドを使うことで、数値で表示することができる。以下は、WindowsのMinGWのMSYSに含まれるodコマンドを使用した際の例。わかりやすいように、テキストファイルを使用している。 以下のテキストファイルをメモ帳で作成し、ファイル名をtext.txtとして保存する。ファイルサイズは20バイトになるはず(1×3 + 2 + 3×3 + 2 + 1×2 + 2 = 20 bytes、Windows 10のメモ帳はデフォルトでは日本語コードはUTF-8、改行コードは0D 0Aであり、ひらがなや漢字は3バイトで符号化され、改行文字は2バイトであることに注意。)。
ABC あいう 12
odコマンドを実行して表示する。
>od text.txt 0000000 041101 006503 161412 101201 100743 161604 103201 005015 0000020 031061 005015 0000024
odコマンドはデフォルトでは8進数表記をする。これを16進数表記にするばあいは-tオプションにx1を付ける。x1とすれば1バイトごとに、x2とすれば2バイトごとに表示される。
>od -t x1 text.txt 0000000 41 42 43 0d 0a e3 81 82 e3 81 84 e3 81 86 0d 0a 0000020 31 32 0d 0a 0000024
ファイルの中身(41、42、…、0aまでの20個)は1バイトごとに表示されるが、左側の連番は8進数表記のままになっている(8進数の20は10進数では(2×8=)16)。この連番をわかりやすく10進数表記にする場合は-Adオプションを使う。
>od -Ad -t x1 text.txt 0000000 41 42 43 0d 0a e3 81 82 e3 81 84 e3 81 86 0d 0a 0000016 31 32 0d 0a 0000020
各行、1バイトごとに16個(バイト)表示され、最終行に表示されたとおりに、ファイルサイズは20バイトであることが分かる。アルファベットの「A」は1バイトで、ASCIIの16進数表記で41(10進数の41ではない)であることがわかる。 連番も16進数表記する場合は、-Axオプションを使う。
>od -Ax -t x1 text.txt 000000 41 42 43 0d 0a e3 81 82 e3 81 84 e3 81 86 0d 0a 000010 31 32 0d 0a 000014