Linuxコマンド辞典 odコマンド(ユーティリティ)
ファイル内容や標準入力された値を8/10/16進数で出力する「od」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
概要・使用方法
書式
$ od [オプション] [ファイル名・・・]
入力されたファイル/標準入力の内容を8進数でダンプする。オプションを指定することで10進数や16進数でダンプすることもできます。
オプション
-A形式 –address-radix=形式 | ファイルオフセット(行頭の表示行)を指定する。d(10進数)/o(8進数/x(16進数)/n(表示無し)を併せて指定する) |
-j バイト –skip-bytes=バイト | ファイル先頭からスキップするバイト数を指定する |
-N バイト –read-bytes=バイト | 入力の先頭から教えて表示するバイト数を指定する |
-t タイプ –format=タイプ | 出力フォーマットを指定する。 |
指定可能な出力フォーマット
旧オプション | フォーマット | 形式 |
---|---|---|
a | 文字名を表示する | -a |
b | 8進数 | o1 |
c | 文字で表示する | -c |
d | 符号付き10進数 | u2 |
f | 浮動小数点で表示する | fF |
i | 10進整数で表示する | dI |
l | 10進長整数で表示する | dL |
o | 8進数(2バイト) | o2 |
s | 10進数(2バイト) | d2 |
x | 16進数(2バイト) | x2 |
テキストファイルをodでダンプしてASCIIコードを出力
$ od -tx1c -A n ファイル名
実行結果
[rin@localhost ~]$ od -tx1c -A n test.txt
74 65 73 74 31 0a
t e s t 1 \n
[rin@localhost ~]$
文字列を標準入力から渡して16進数で出力
$ echo "test" | od -x
実行結果
[rin@localhost ~]$ echo "test" | od -x
0000000 6574 7473 000a
0000005
[rin@localhost ~]$
[rin@localhost ~]$ od -tx1c -A n test.txt
74 65 73 74 31 0a
t e s t 1 \n
[rin@localhost ~]$
目的の範囲を表示する
$ od コマンド -x | head -n 5
16byteスキップして16バイトを表示すれば目的のが表示する
実行結果
[rin@localhost ~]$ od /bin/ls -x | head -n 5
0000000 457f 464c 0102 0001 0000 0000 0000 0000
0000020 0003 003e 0001 0000 5e50 0000 0000 0000
0000040 0040 0000 0000 0000 2868 0002 0000 0000
0000060 0000 0000 0040 0038 000b 0040 001f 001e
0000100 0006 0000 0004 0000 0040 0000 0000 0000
[rin@localhost ~]$ od /bin/ls -x -j 16 -N 16| head -n 5
0000020 0003 003e 0001 0000 5e50 0000 0000 0000
0000040
[rin@localhost ~]$