file コマンドは、多くの Unix システムに付属しており、不明なファイルの構造を識別するために使用する署名のデータベースを備えています。このコマンドは、ディレクトリに対して使用して、ディレクトリとして判断することもできます。 file コマンドの構文は非常に簡単です:
# file [file or directory]
例:
# file /tmp /tmp: sticky, directory # file /tmp/adobegc.log /tmp/adobegc.log: ASCII text
ファイルが空の場合にも出力できます。これは、空のファイルを見つけるのにも便利です。また、ファイル名またはディレクトリ名を提供する際に正規表現も使用します。
ファイルは、それを分類するために各引数をテストします。ファイルシステム テスト、マジック テスト、言語テストの 3 つのテスト セットがこの順序で実行されます。最初のテストが成功すると、ファイル タイプが出力されます。
印刷されるタイプには、通常、テキスト (ファイルには印刷文字といくつかの一般的な制御文字のみが含まれ、おそらく ASCII 端末で安全に読み取ることができます)、実行可能ファイル (ファイルには、プログラムをフォームにコンパイルした結果が含まれます) のいずれかが含まれます。一部の UNIX カーネルなどで理解できるもの)、またはその他の意味を持つデータ (通常、データは「バイナリ」または印刷不可)。
file コマンドの例
1. ファイルの種類を取得するには:
# file file.txt
2. ファイルの種類を簡単に取得するには:
# file -b file.txt # file --brief file.txt
3. C コード ファイルをコンパイルするには:
# file -C file.c # file --compile file.c
4. マジック ファイルの解析済みフォームのチェック出力を発生させるには:
# file -c file.txt # file --checking-printout file.txt
5. testname で指定されたテストを除外するには:
# file -e text file.txt # file --exclude text file.txt
テスト名 | 説明 |
---|---|
アプリタイプ | EMX アプリケーション タイプ (EMX のみ)。 |
テキスト | さまざまな種類のテキスト ファイル (このテストでは、テキスト エンコーディングに関係なく、推測しようとします |
エンコーディング | ソフト マジック テスト用のさまざまなテキスト エンコーディング。 |
トークン | テキスト ファイル内の既知のトークンを検索します。 |
cdf | 複合文書ファイルの詳細を出力します。 |
圧縮 | 圧縮ファイルをチェックして内部を調べます。 |
エルフ | ELF ファイルの詳細を出力します。 |
ソフト | 魔法のファイルを調べます。 |
タール | tar ファイルを調べます。 |
6. 指定された文字列をファイル名と返されるファイル結果の間のセパレータとして使用するには:
# file -F " " file.txt # file --separator " " file.txt
7. namefile から調べるファイルの名前を読み取るには:
# file -f file.txt # file --files-from file.txt
8. シンボリック リンクをたどらないようにするには:
# file -h file.txt # file --no-dereference file.txt
9. file コマンドが MIME タイプ文字列を出力するようにするには:
# file -i file.txt # file -mime file.txt
10. -i と同様ですが、指定された要素のみを出力します:
# file --mime-type file.txt # file --mime-encoding file.txt
11. 最初の試合で止まらないために、続けてください:
# file -k file.txt # file --keep-going file.txt
12. to オプションにより、シンボリックリンクがたどられます:
# file -L file.txt # file --dereference file.txt
13. マジックを含むファイルとディレクトリの代替リストを指定するには:
# file -m magicfile file.txt # file --magic-file magicfile file.txt
14. 出力で整列するようにファイル名をパディングしない:
# file -N file.txt # file --no-pad file.txt
15. 各ファイルのチェック後に stdout を強制的にフラッシュするには:
# file -n file.txt # file --no-buffer file.txt
16. ファイルのアクセス時間を保持するには:
# file -p file.txt # file --preserve-date file.txt
17. 印刷できない文字を \ooo に変換しない:
# file -r file.txt # file --raw file.txt
18. 特殊ファイルを読み取るには:
# file -s file.txt # file --special-files file.txt
19. プログラムのバージョンを印刷して終了するには:
# file -v
20. 圧縮ファイルの内部を調べるには:
# file -z file.gz # file --uncompress file.gz
21. ファイル名の末尾にヌル文字 0 を出力するには:
# file -0 file.txt # file --print0 file.txt
22. ファイルのヘルプを表示するには:
# file --help