utte

file ファイルの種類を調べる

file [オプション] ファイル...

試してみる

主なオプション

-bファイル名を表示せず、種類だけを表示する
-iMIME タイプの形式で表示する(--mime と同じ)
-Lシンボリックリンクをたどって、リンク先を調べる
-z圧縮ファイルの中身も調べる

解説

拡張子ではなく中身で判断する

file は、ファイル名の拡張子ではなく、ファイルの先頭にある識別用のデータ(マジックナンバー)などを見て種類を判断します。そのため、拡張子が .txt でも中身が画像なら画像と表示されます。拡張子がないファイルの正体を調べるときに便利です。

表示の例

テキストファイルなら「ASCII text」や「Unicode text, UTF-8 text」、シェルスクリプトなら「shell script」、実行ファイルなら「ELF … executable」、ディレクトリなら「directory」と表示されます。

シンボリックリンク

標準では、シンボリックリンクはリンク自体を調べて「symbolic link to …」と表示します。リンク先のファイルを調べたいときは -L を付けます。

ls との違い

ls -l は権限や大きさなどの情報を表示しますが、中身が何であるかは分かりません。file は逆に、中身の種類を知るためのコマンドです。

関連するコマンド

LinuC 101の出題範囲