fileコマンドを使うと、判定したファイルが実行ファイルなのか、テキストファイルなのか、シェルスクリプトなのかなどを判別してくれます。
以下にいくつかのファイルタイプを使用して実行例を記します。
実行ファイル、シェルスクリプト、テキストファイルなどをfileコマンドを使って判定した例を以下に記します。
以下、lsコマンドをfileコマンドでしてみた結果です。
$ file /bin/ls /bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
ELF 64bit LSB 実行ファイルであることと、共有ライブラリを使うことがfileコマンドの出力から確認することができます。
MySQLの起動スクリプトをfileコマンドで確認したときの出力です。
$ file /etc/init.d/mysqld /etc/init.d/mysqld: Bourne-Again shell script text executable
シェルスクリプトであることが確認できます。
自分で作成したテキストファイルをfileコマンドで判定したときの出力です。
$ file abc.txt abc.txt: UTF-8 Unicode text
UTF-8のテキストファイルであることが確認できます。
meldというグラフィカルなdiff&mergeアプリがあります。
このアプリはPythonで記述されています。
fileコマンドで判定した時の出力は以下のようになります。
$ file `which meld` /usr/bin/meld: a python script text executable
Perl, Rubyスクリプトでも同様にfileコマンドを実行した例です。
$ file hello.pl hello.pl: perl script text executable
$ file hello.rb hello.rb: a /usr/bin/ruby script text executable