hexdump
16進数や8進数で出力する(1)
構文
hexdump [-bcCdovx] [-e FORMAT_STRING] [-f FORMAT_FILE] [-n LENGTH] [-s SKIP] FILE
オプション
-b | 1バイト単位の8進数3桁で出力する |
-c | 1バイト単位のASCII文字で出力する |
-C | 16進数とASCII文字で出力する |
-d | 2バイト単位の10進数5桁で出力する |
-o | 2バイト単位の8進数6桁で出力する |
-v | すべての入力データを表示する |
-x | 2バイト単位の16進数4桁で出力する |
-e FORMAT_STRING | データ出力のフォーマット文字列FORMAT_STRINGを指定する |
-f FORMAT_FILE | フォーマット文字列の書かれたファイルFORMAT_FILEを指定する |
-n LENGTH | 最初のLENGTHバイトだけを処理する |
-s SKIP | 入力データの先頭からSKIPバイト分を読み飛ばす |
FILE | 入力するファイルを指定する |
説明
バイナリ・ファイルなどの入力データを、16進数や8進数をはじめ、ユーザーの指定した形式で出力する。デフォルトでは、2バイト単位の16進数4桁で出力する。
出力フォーマット
フォーマット文字列は、3つの要素「繰り返し回数」「バイト数」「フォーマット」から構成される。繰り返し回数は、1つのフォーマットが適用される回数を、バイト数は1つのフォーマットで処理されるバイト数を示す。両方を指定する場合は「8/2」のように「/」を間に入れる。フォーマットは「"」で囲まれ、基本的にはfprintf形式のフォーマット文字列として解釈される。
文字列 | 説明 |
---|---|
_ad | バイトのオフセット(アドレス)10進数表記 |
_ao | バイトのオフセット(アドレス)8進数表記 |
_ax | バイトのオフセット(アドレス)16進数表記 |
_c | デフォルト文字セットの文字で出力 |
_p | デフォルト文字セットの文字で出力(「.」は表示不能な文字) |
_u | US ASCII文字列で出力 |
\t | タブ |
\n | 改行 |
使用例
/bin/catファイルの内容を16進数とASCII文字列で出力する。
$ hexdump -C /bin/cat
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 3e 00 01 00 00 00 50 18 40 00 00 00 00 00 |..>.....P.@.....|
00000020 40 00 00 00 00 00 00 00 b8 b5 00 00 00 00 00 00 |@...............|
(...)
「-x」オプションと同等の出力(2バイト16進数)をフォーマット文字列で指定し、sampleファイルの内容を出力する。
$ hexdump -e '"%07.7_ax " 8/2 "%04x " "\n"' sample
関連事項
od、strings