Linuxでファイルを作成するコマンドを見てきました。 Linuxでファイルを削除するコマンドも見ました。この記事でfileコマンドについて話しましょう。
LinuxおよびUnixのファイルコマンドとは何ですか?
ファイルの種類をどのように認識しますか?推測させてください、その拡張によって、そうですか?つまり、MyData.csvという名前のファイルが表示された場合、そのファイルはCSV形式であると推測されます。
しかし、LinuxとUnixのファイル拡張子には本当の意味はありません。 csvファイル、zipファイルに名前を付けることができます。拡張機能をまったく使用しないことを選択できます。
このような状況では、fileコマンドが便利です。 Linuxのfileコマンドは、拡張子に関係なく、ファイルの実際のタイプを判別します。
いくつかのオプションのみを含む単純な構文です:
file [option] filename
構文がわかったので、fileコマンドの使用方法を見てみましょう。
Linuxでのファイルコマンドの例
最も単純な形式では、ファイル名またはファイルへのパスを指定してfileコマンドを使用すると、ファイルの種類が表示されます。
file filename
次に例を示します:
[email protected]:~/$ file cpluplus.cpp
cpluplus.cpp: C++ source, ASCII text
オプションで使用できる他の方法をいくつか見てみましょう。
オプション-bを使用できます 出力には、ファイル名を省略したファイルタイプのみが表示されます。スクリプト作成に役立つ可能性があります。
file -b filename
以前に見たのと同じ例を見てください:
[email protected]:~/$ file -b cpluplus.cpp
C++ source, ASCII text
-i を使用して、ファイルのMIMEタイプを表示することもできます。 オプション。
file -i filename
MIMEタイプ情報がある場合とない場合の、ビデオファイルに対するコマンドの例を次に示します。
[email protected]:~/$ file my_video.mp4
my_video.mp4: ISO Media, MP4 v2 [ISO 14496-14]
[email protected]:~/$ file -i my_video.mp4
my_video.mp4: video/mp4; charset=binary
-bオプションと-iオプションを組み合わせることができます。
ディレクトリをgzipで圧縮すると、圧縮ファイルが作成されます。圧縮されていないコンテンツを調べて、-zオプションを使用してファイルタイプを決定できます。
file -z compressed_file
-zオプションがある場合とない場合の例を示します。
[email protected]:~/$ file author-pro.zip
author-pro.zip: Zip archive data, at least v2.0 to extract
[email protected]:~/$ file -z author-pro.zip
author-pro.zip: PHP script, ASCII text (Zip archive data, at least v2.0 to extract)
ファイルコマンドは、複数のファイルに対して同時に実行できます。
file file1 file2 file3
動作を確認できるように、次の例を示します。
[email protected]:~/$ file cpluplus.cpp agatha.txt bash_script.sh
cpluplus.cpp: C++ source, ASCII textagatha.txt: ASCII text
bash_script.sh: Bourne-Again shell script, ASCII text executable
正規表現でファイルコマンドを使用する
複数のファイルでfileコマンドを使用する場合は、必ずしもすべてのファイル名を指定する必要はありません。代わりに正規表現を使用できます。
それをどのように使用できるかは、実際にはあなたの要件と想像力次第です。それでも、いくつかの例を示します。
現在のディレクトリ内のすべてのファイルのファイルタイプを表示する場合は、次を使用します。
file *
特定の拡張子を持つすべてのファイルのファイルタイプを表示したい場合は、それも行うことができます:
file *.txt
可能性は無限大。 「a」で始まる名前のファイルのファイルタイプを表示したいですか?これを使用してください:
file [a]*
使用できるfileコマンドのその他のオプションは次のとおりです。
- -L:シンボリックリンクをたどり、宛先ファイルのタイプを報告します
- -f file_name:指定されたfile_nameからファイル名を1行ずつ読み取り、ファイルタイプを報告します
他にもいくつかのオプションがありますが、Linuxファイルコマンドの基本的な例をすべて学んだと思います。ご質問やご提案がございましたら、コメント欄でお知らせください。