GNU/Linux >> Linux の 問題 >  >> Linux

xxd コマンド – 16 進形式で表現

od と同様に、xxd はファイルの 16 進数またはバイナリ ダンプをいくつかの異なる形式で生成します。逆に、16 進ダンプ形式から元のデータに変換することもできます。たとえば、バイナリ ファイル /usr/bin/who の 16 進ダンプは次のとおりです。

$ xxd /usr/bin/who
0000000: 7f45 4c46 0101 0100 0000 ... 0000 .ELF............
0000010: 0200 0300 0100 0000 a08c ... 0000 ............4...
0000020: 6824 0000 0000 0000 3400 ... 2800 h$......4. ...(.
0000030: 1900 1800 0600 0000 3400 ... 0408 ........4...4...
...

左の列は行のファイル オフセットを示し、次の 8 列にはデータが含まれ、最後の列には行内の印刷可能な文字が表示されます (存在する場合)。デフォルトでは、xxd は 3 つの列を出力します:ファイル オフセット、16 進数のデータ、およびテキストとしてのデータ (印刷可能な文字のみ)。

構文:

# xxd [parameter]

共通パラメータ

一般的に使用されるパラメータの一部:

コマンドオプション 説明
-l N 最初の N バイトだけを表示します。 (デフォルトではファイル全体が表示されます)
-s N ファイルの最初の N バイトをスキップします。
-s -N ファイルの終わりから N バイトを開始します。 (標準入力をスキップするより高度な +N 構文もあります。マンページを参照してください。)
-c N 1 行あたり N バイトを表示します。 (デフォルト =16)
-g N od -s のように、バイトの各行を空白で区切られた N バイトのシーケンスにグループ化します。 (デフォルト =2)
-b 出力を 16 進数ではなく 2 進数で表示します。
-u 出力を小文字ではなく大文字の 16 進数で表示します。
-p 出力を単純な 16 進ダンプとして表示します。1 行あたり 60 連続したバイトです。
-r 逆の操作:xxd 16 進ダンプから元のファイル形式に変換します。デフォルトの hexdump フォーマットで動作し、-p オプションを追加すると、プレーンな hexdump フォーマットで動作します。
-i 出力を C プログラミング言語のデータ構造として表示します。ファイルから読み取ると、データを含む unsigned char の配列と、配列の長さを含む unsigned int が生成されます。標準入力から読み取る場合、16 進バイトのコンマ区切りリストのみが生成されます。

xxd コマンドの例

1. -a パラメータを使用して、入力ファイルの 0x200 から始まる空白を自動的にスキップします:

# xxd -a -s +0x200 geek.txt

2. -a、-c パラメータを使用し、空白を自動的にスキップし、0x200 から始まる 1 行あたり 12 バイトを表示します。入力ファイル:

# xxd -a -c 12 -s +0x200 geek.txt

3. -a、-c、および -g パラメーターを使用して、ブランクを自動的にスキップします。各行は 12 バイト、1 行あたり 1 バイト、および 512 バイトのコンテンツを表示します。 0x200 から始まる、入力ファイル:

# xxd -a -c 12 -g 1 -l 512 -s +0x200 geek.txt


Linux
  1. Linuxwcコマンド

  2. Linux での file コマンドの例

  3. ファイル:コマンドが見つかりません

  1. Linuxgrepコマンド

  2. Linux での ln コマンドの例

  3. Hexdump リバース コマンド

  1. Linuxでの8つのヘッドコマンドの例

  2. Linuxでの8つのStatコマンドの例

  3. ファイルからバイト範囲を取得する Linux コマンド