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.txtとtest-revert.txtは同一となります。
xxd -p test.txt > test16.txt
xxd -r -p test16.txt > test-revert.txt