Ubuntuでバイナリファイルの内容を確認する方法

Ubuntuのコマンドラインから、ファイルの内容を16進数で表示するコマンドです。
コマンドはバイナリファイル、テキストファイル問わずに利用できます。

hexdump

hexdumpは16進数の値と対応する文字をテキストで表示します。

hexdump -C <FILENAME>

表示例

00000000  73 61 6d 70 6c 65 0a                              |sample.|
00000007

xxd

xxdも同じような出力を行います。

xxd <FILENAME>

表示例

00000000: 7361 6d70 6c65 0a                        sample.

-sで開始インデックス(指定なしは0)、-lで読み取るバイト数(指定なしは最後まで)を指定できます。

xxd -s 2 -l 2 <FILENAME>

表示例

00000002: 6d70                                     mp

-pを指定すると16進数の値をテキストで表示します。

xxd -p test.txt

表示例

73616d706c650a

次のコマンドで、上記のような16進数の文字列をバイナリデータとして保存できます。

xxd -r -p <INPUT_FILENAME> > <OUTPUT_FILENAME>

例として、次のようにコマンドを実行した場合、test.txttest-revert.txtは同一となります。

xxd -p test.txt > test16.txt
xxd -r -p test16.txt > test-revert.txt
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です