Linuxでバイナリファイルの内容を表示します。
記事の目次
バイナリファイルを準備する!
バイナリファイルの準備と言いつつ、コマンドがどのようにバイナリファイルをあつかうか確認するため、テキストファイルを準備します。
$ cat sample.txt abc abc
バイナリファイルを表示する!(hexdump)
hexdumpコマンドでファイルの内容をバイナリ表示します。コマンド名に現れている通り、デフォルトで16進形式で表示します。2バイト読んで、逆順で表示されます。
$ hexdump sample.txt 0000000 6261 0a63 6261 0a63 0000008
1バイトずつ読んで、表示したい場合は、「-C」オプションを使用します。
$ hexdump -C sample.txt 00000000 61 62 63 0a 61 62 63 0a |abc.abc.| 00000008
制御文字の確認で、文字コードの表示が必要ない場合は、「-c」オプションが便利です。
$ hexdump -c sample.txt 0000000 a b c \n a b c \n 0000008
バイナリファイルを表示する!(od)
odコマンドでファイルの内容をバイナリ表示します。コマンド名に現れている通り、デフォルトで8新表示です。hexdumpと同じように2バイト読んで、逆順で表示されます。
$ od sample.txt 0000000 061141 005143 061141 005143 0000010
16進で、1バイトづつの表示してみます。
$ od -tx1 sample.txt 0000000 61 62 63 0a 61 62 63 0a 0000010
制御文字の確認で、文字コードの表示が必要ない場合は、「-c」オプションが便利です。
$ od -c sample.txt 0000000 a b c \n a b c \n 0000010
バイナリファイルを表示する!(xxd)
xxdコマンドでファイルの内容をバイナリ表示します。素直に1バイトずつの順序で表示されいます。
$ xxd sample.txt 00000000: 6162 630a 6162 630a abc.abc.
おわりに
バイナリファイルの表示は、何バイト単位で出力されているかに注意しましょう。エンディアンの関係で表示順序が逆転します。素直に確認するのであれば、「xxd」コマンドが便利だと思います。
関連記事
関連書籍(Amazon)