Movatterモバイル変換


[0]ホーム

URL:


hydroculのメモ >コマンドの使い方(Linux) >od コマンド

od コマンド2016/02/08

バイナリファイルを16進数などでダンプするコマンド。ファイル名を指定するとファイルを読み込み、そうでない場合は標準入力を読み込み、標準出力にダンプする。

od -avtx1 -Ad ファイル名

または

cat ファイル名 | od -avtx1 -Ad

各行の左にはアドレス(ファイルの先頭からのバイト単位でのオフセット値)が表示される。アドレスはデフォルトでは8進数表記である。

インストール2016/03/17

Coreutilsというパッケージに入っているので、CentOSにもUbuntuにも始めから入っている。

オプション2016/05/10

-Ad
各行左に表示されるアドレス表示を10進数にする。デフォルトでは8進数である
-Ax
各行左に表示されるアドレス表示を16進数にする。デフォルトでは8進数である
-An
各行左に表示されるアドレス表示を非表示にする
-w8
8バイトごとに改行出力する。wのあとの数字を変えれば任意のバイト単位でできる。デフォルトは16バイト単位かな。
-x
2バイト単位で16進数で出力
-h
2バイト単位で16進数で出力。-x と同じ。
-tx1
1バイト単位で16進数で出力
-tx2
2バイト単位で16進数で出力。xのあとの数字を変えれば任意のバイト単位でできる
-tu1
1バイト単位で10進数で出力
-tu2
2バイト単位で10進数で出力。uのあとの数字を変えれば任意のバイト単位でできる
-c
文字で出力、またはC言語のようなバックスラッシュエスケープで出力(128以上は8進数で表示されるようだ)。-tc と同じ
-tc
文字で出力、またはC言語のようなバックスラッシュエスケープで出力(128以上は8進数で表示されるようだ)。-c と同じ
-a
制御文字などは文字の名前で出力。スペースはsp などと。-ta と同じ
-ta
制御文字などは文字の名前で出力。スペースはsp などと。-a と同じ
-v
出力行がまるごと前の行と同じだった場合に、デフォルトでは* だけが表示されて中身が省略されてしまう。このオプションを付けると、その制御が無効になる。
--help
ヘルプ表示
--version
バージョン表示

-- というパラメータを渡すとそれ以降のパラメータをオプションではなくファイル名とみなしてくれるので、- で始まるファイル名を扱いたい場合に使うとよい。

実行例2016/02/08

$ cat hello.txtHello, world!$ od -x hello.txt0000000 6548 6c6c 2c6f 7720 726f 646c 0a210000016## 2バイトずつ16進数で表示される$ od hello.txt0000000 062510 066154 026157 073440 071157 062154 0050410000016## 8進数で表示。16進数の6548は、8進数の62510$ od -c hello.txt0000000   H   e   l   l   o   ,       w   o   r   l   d   !  \n0000016$ od -tx1 -a hello.txt0000000  48  65  6c  6c  6f  2c  20  77  6f  72  6c  64  21  0a          H   e   l   l   o   ,  sp   w   o   r   l   d   !  nl0000016## 出力フォーマットを2つ指定すると、2行でそれぞれ表示される

1行が15バイトのテキストで同じ行が続く場合の例

$ cat hello3.txtHello, world!!!Hello, world!!!$ od -x hello3.txt0000000 6548 6c6c 2c6f 7720 726f 646c 2121 0a21*0000040$ od -xv hello3.txt0000000 6548 6c6c 2c6f 7720 726f 646c 2121 0a210000020 6548 6c6c 2c6f 7720 726f 646c 2121 0a210000040

改行含め同じ16バイトが2回繰り返すことになるので、デフォルトでは2行目が* という表示になってしまう。-v を付けることで、繰り返しの場合もちゃんと表示させることができる。

左のアドレス表記を10進数にする例 (-Ad)

$ od -vtx1 -Ad -a hello3.txt0000000  48  65  6c  6c  6f  2c  20  77  6f  72  6c  64  21  21  21  0a          H   e   l   l   o   ,  sp   w   o   r   l   d   !   !   !  nl0000016  48  65  6c  6c  6f  2c  20  77  6f  72  6c  64  21  21  21  0a          H   e   l   l   o   ,  sp   w   o   r   l   d   !   !   !  nl0000032
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。

[8]ページ先頭

©2009-2025 Movatter.jp