ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11.1 Information Library (日本語) |
- ファイルタイプの判別
/usr/bin/file [-dh] [-m mfile] [-M Mfile] [-f ffile] file...
/usr/bin/file [-dh] [-m mfile] [-M Mfile] -f ffile
/usr/bin/file -i [-h] [-f ffile] file...
/usr/bin/file -i [-h] -f ffile
/usr/bin/file -c [-d] [-m mfile] [-M Mfile]
/usr/xpg4/bin/file [-dh] [-m mfile] [-M Mfile] [-f ffile] file...
/usr/xpg4/bin/file [-dh] [-m mfile] [-M Mfile] -f ffile
/usr/xpg4/bin/file -i [-h] [-f ffile] file...
/usr/xpg4/bin/file -i [-h] -f ffile
/usr/xpg4/bin/file -c [-d] [-m mfile] [-M Mfile]
file ユーティリティーは、file で指定した各ファイル、およびオプションとして指定した ffile 中に記述された個々のファイルを分類します。指定したファイルが通常ファイル以外である場合、そのタイプを判別します。判別されるタイプには、ディレクトリ、FIFO、ブロック特殊ファイル、文字特殊ファイルなどがあります。ファイル長がゼロの通常ファイルは、空ファイルと判別します。
file がテキストファイルである場合、file は最初の 512 バイトを検査し、そのプログラミング言語を判定します。file がシンボリックリンクである場合、デフォルトでは、file はそのリンクをたどって参照先のファイルをテストします。
file 引数が再配置可能オブジェクト、実行可能ファイル、または共有オブジェクトである場合、file コマンドはそのファイルの実行要件に関する情報を出力します。この情報には、マシンのクラス、バイト順、静的リンクまたは動的リンク、およびソフトウェア能力またはハードウェア能力に関する要件が入っています。file が実行時のリンク先の構成ファイルである場合、file は、マシンクラスやバイト順序などの、ターゲットのプラットフォームに関する情報を出力します。
/usr/lib/locale/locale/LC_MESSAGES/magic ファイルが存在する場合、file はデフォルトで、このマジックファイルを使用してマジック番号を持つファイルを識別します。たとえば、日本語ロケールの場合は /usr/lib/locale/ja/LC_MESSAGES/magic を使用します。/usr/lib/locale/locale/LC_MESSAGES/magic が存在しない場合、file は /etc/magic ファイルを使用します。マジック番号は、ファイルタイプを表す数値定数または文字列定数です。/etc/magic の形式については magic(4) を参照してください。
file が存在しない、読み取りできない、またはステータスが判別できない場合でも、終了ステータスに影響を与えるようなエラーとは見なされません。この場合、ファイルの処理は行われたがタイプは判断できなかったということが示されます。
サポートしているオプションは、次のとおりです。
マジックファイルにフォーマットエラーがないかどうかをチェックします。効率上の問題から、この妥当性検査は通常実行しません。
システムのデフォルトの位置依存および文脈依存テストをファイルに適用します。
ffile は、検査すべきファイルの一覧が記述されているファイルの名前を表します。
シンボリックリンクに遭遇したとき、ファイルをシンボリックリンクとして識別します。-h を指定しない場合でも、file がシンボリックリンクであり、存在しないファイルを参照する場合、file ユーティリティーは、-h が指定されたように、file をシンボリックリンクとして識別します。
ファイルが通常ファイルである場合、それ以上ファイルのタイプを分類せず、そのファイルを「通常ファイル」として識別します。
mfile を /etc/magic に代わる代替マジックファイルとして使用します。
位置依存テストを含むファイルの名前を指定します。このテストは、ファイルを分類するときに適用されます (magic(4) を参照)。-d オプションまたは -M オプションを指定せず、-m オプションだけを指定した場合、-m オプションで指定した位置依存テストの後に、システムのデフォルトの位置依存テストが適用されます。
位置依存テストを含むファイルの名前を指定します。このテストは、ファイルを分類するときに適用されます (magic(4) を参照)。-d オプションを一緒に指定しない限り、システムのデフォルトの位置依存テストまたは文脈依存テストは適用されません。
-d オプション、-m オプション、あるいは、その両方と一緒に、--M オプションを指定した場合、あるいは、-d オプションと一緒に、-m オプションを指定した場合、これらのオプションで指定した位置依存テストはすべて、これらのオプションに指定した順番どおりに適用されます。
次のオペランドがサポートされています。
テストするファイルのパス名。
ファイルが 2G バイト (231 バイト) 以上ある場合の file の動作については、largefile(5) を参照してください。
例 1 引数として指定したファイルがバイナリの実行可能ファイルであるかどうかを検査する
次の例は、引数として指定したファイルがバイナリの実行可能ファイルであるかどうかを検査します。
file "$1" | grep -Fq executable && printf "%s is executable.\n" "$1"
file の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、および NLSPATH。
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
file のマジック番号ファイル
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
crle(1), elfdump(1), elffile(1), ls(1), magic(4), attributes(5), environ(5), largefile(5), standards(5)
file ユーティリティーでは、最初にアーカイブメンバーがアーカイブから別個のファイルに抽出されていないかぎり、アーカイブメンバーを検査することはできません。elffile ユーティリティーでは、所定の場所にあるアーカイブメンバーを検査できるため、ELF オブジェクトおよびアーカイブでは、このユーティリティーを使用することをお勧めします。