(9)【file】シェルスクリプトコマンド活用紹介

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の使い方を確認してください。

書籍の紹介

(10)【chmod】シェルスクリプトコマンド活用紹介

(10)【chmod】シェルスクリプトコマンド活用紹介

(8)【grep】シェルスクリプトコマンド活用紹介

(8)【grep】シェルスクリプトコマンド活用紹介