S-JIS[2003-09-07/2005-11-29] 変更履歴

od 〔オプション〕 ファイル名

ファイルの内容をバイナリとして表示(ダンプ)するUNIXコマンド


概要

ファイルの内容をバイナリとして表示(ダンプ)する。
オプションが無いと、2バイトずつ八進数で表示される。

オプション 説明
-h 2バイトずつ十六進数
-tx1 1バイトずつ十六進数
-a 1バイトずつASCII。コントロールコードは「nl」等と表示される。
-c 1バイトずつASCII。コントロールコードは「\n」等と表示される(C言語風)。
-Ax アドレスを十六進数で表示する。[2005-11-29]

$ cat list	←参考
Test/Test.class
Test/Test.java
Test/readme.txt
$ od list	←2バイトずつ八進数
0000000 062524 072163 052057 071545 027164 066143 071541 005163	←八進数で2バイトずつって、やっぱり表示が変だよ…
0000020 062524 072163 052057 071545 027164 060552 060566 052012
0000040 071545 027564 062562 062141 062555 072056 072170 000012
0000057
$ od -h list	←2バイトずつ十六進数
0000000 6554 7473 542f 7365 2e74 6c63 7361 0a73
0000020 6554 7473 542f 7365 2e74 616a 6176 540a
0000040 7365 2f74 6572 6461 656d 742e 7478 000a	←ファイルが奇数バイトだと、最後がちょっと変
0000057
$ od -tx1 list	←1バイトずつ十六進数(なぜこれがデフォルトじゃないんだ〜!)
0000000 54 65 73 74 2f 54 65 73 74 2e 63 6c 61 73 73 0a
0000020 54 65 73 74 2f 54 65 73 74 2e 6a 61 76 61 0a 54
0000040 65 73 74 2f 72 65 61 64 6d 65 2e 74 78 74 0a
0000057
$ od -a list    ←ASCII
0000000   T   e   s   t   /   T   e   s   t   .   c   l   a   s   s  nl
0000020   T   e   s   t   /   T   e   s   t   .   j   a   v   a  nl   T
0000040   e   s   t   /   r   e   a   d   m   e   .   t   x   t  nl
0000057
$ od -c list    ←ASCII+ESCAPE
0000000   T   e   s   t   /   T   e   s   t   .   c   l   a   s   s  \n
0000020   T   e   s   t   /   T   e   s   t   .   j   a   v   a  \n   T
0000040   e   s   t   /   r   e   a   d   m   e   .   t   x   t  \n
0000057
$ od -tx1a list    ←ASCIIとバイナリの混在[2005-11-21]
0000000  54  65  73  74  2f  54  65  73  74  2e  63  6c  61  73  73  0a
           T   e   s   t   /   T   e   s   t   .   c   l   a   s   s  lf
0000020  54  65  73  74  2f  54  65  73  74  2e  6a  61  76  61  0a  54
           T   e   s   t   /   T   e   s   t   .   j   a   v   a  lf   T
0000040  65  73  74  2f  72  65  61  64  6d  65  2e  74  78  74  0a
           e   s   t   /   r   e   a   d   m   e   .   t   x   t  lf
0000057

ちなみに、漢字はうまく表示されない。


アドレス(行番号)も、実はデフォルトでは八進数だった…。十六進数にするには、base_addressを指定する。[2005-11-29]

$ od -tx1 -Ax list
0000000 54 65 73 74 2f 54 65 73 74 2e 63 6c 61 73 73 0a
0000010 54 65 73 74 2f 54 65 73 74 2e 6a 61 76 61 0a 54
0000020 65 73 74 2f 72 65 61 64 6d 65 2e 74 78 74 0a
000002f

UNIXコマンドへ戻る
メールの送信先:ひしだま