fileコマンド
- ファイルの形式を表示する
- ファイルのリストから調べる
- シンボリックリンクの参照先を調べる
- 圧縮されているファイルを調べる
- fileコマンドと組み合わせてスクリプトファイルを一覧表示する
- whichコマンドと組み合わせてコマンドのファイル形式を調べる
fileコマンド概要
「file」は、ファイル形式を調べるためのコマンドです。「file ファイル名」で、ファイルの形式が表示されます。テキストファイルの場合は、文字コードが表示されます。
- ヒント
- fileコマンドを使わないとできないことがあります。ファイルの拡張子をみて画像ファイルであり、そのファイルタイプはjpgまたはgifという見分けをしますが、それはあくまで見た目の話で、ファイルの内容を確認するためのコマンドがfileコマンドになります。
fileコマンドの書式
file [オプション] ファイル1 ファイル2 ファイル3……
fileコマンドの主なオプション
オプション | 意味 |
---|---|
-f | リスト 検査するファイルの名前をリストファイルから読み込む |
-L | シンボリックリンクの参照先を調べる |
-z | 圧縮ファイルの中も検査する |
-b | 出力行の最初にファイル名を表示しない |
-N | 出力を整列するためのファイル名への空白の追加を行わない |
- ヒント
- 一覧のオプションは一部です。 $ man file などで、fileの使い方を確認してください。
fileコマンド詳細説明
ファイルの形式を表示する
システムメッセージを表示する
$ file sample.jpg
- ヒント
- データファイルの場合は「.jpg」や「.mp3」といった拡張子で判断してしまうのが一般的ですが、fileコマンドの場合は拡張子ではなく、あくまでも“ファイルの内容”から判断します
ファイルのリストから調べる
「-f」オプションで、ファイルの一覧を指定することができます。例えば、Linuxの設定ファイル「/etc/shells」にはインストールされているシェルがリストアップされていますが、「file -f /etc/shells」で、それぞれのシェルのファイル形式を調べることができます。
$ file -f /etc/shell
シンボリックリンクの参照先を調べる
「-L」オプションで、シンボリックリンクのリンク先を調べることができます。例えば、先ほどの実行結果から「/bin/csh」は、tcshへのシンボリックリンクであることが分かりました。「file -L /bin/csh」で、リンク先であるtcshのファイル形式が表示されます。
$ file -L /bin/tcsh
圧縮されているファイルを調べる
「-z」オプションで、圧縮されているファイルの元の形式を調べることができます。
bash-5.1$ file /usr/local/bin/openmpi-1.8.3.tar.gz
/usr/local/bin/openmpi-1.8.3.tar.gz: gzip compressed data, last modified: Thu Sep 25 14:12:57 2014, max compression, from Unix
bash-5.1$
- ヒント
- $ man file などで、fileの使い方を確認してください。