理想未来ってなんやねん

娘可愛い。お父さん頑張る。

ファイルの種類をチェックする - fileコマンド

fileコマンドを使うとファイルの内容からその種類を調べることができます。

実行ファイルの場合

$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

pngファイルの場合

$ file /usr/share/anaconda/pixmaps/first.png
/usr/share/anaconda/pixmaps/first.png: PNG image data, 550 x 379, 8-bit/color RGBA, non-interlaced

MIMEメディアタイプを調べる

fileコマンドに-iオプションを付けて実行するとファイルのMIMEメディアタイプを調べることができます。

magicデータベース

fileコマンドは、ファイルシステムテスト、マジックナンバーテスト、言語テストの順序で 3 つのテストを行い、最初に成功したテストでファイルタイプを表示します。すべてに当てはまらない場合は、単なるバイナリ列として判断されます。

マジックナンバーテストは、magicデータベースファイルの情報に基づきチェックが行われます。
magicデータベースはシグネチャ情報が記録されたものです。
/usr/share/file/magic、/etc/magicなどの場所に記載されています。


fileコマンドはBINARY HACKSで知りました。

Binary Hacks ―ハッカー秘伝のテクニック100選

Binary Hacks ―ハッカー秘伝のテクニック100選