GNU/Linux >> Linux の 問題 >  >> Linux

Linuxファイルコマンド:Linuxでファイルタイプを決定する方法

はじめに

Linuxのfile コマンドは、ファイルのタイプとそのデータを判別するのに役立ちます。このコマンドはファイル拡張子を考慮せず、代わりに一連のテストを実行してファイルデータの種類を検出します。

このチュートリアルでは、file コマンドが機能し、その使用方法。

前提条件

  • Linuxを実行しているシステム。
  • ターミナルウィンドウへのアクセス。

ファイルコマンド構文

file コマンドは次の基本構文を使用します:

file [option] [file name]

上記の構文では、file name テストするファイルの名前を表します。 file コマンドは、ファイルタイプを決定するために、次の順序で3セットのテストを実行します。

  • ファイルシステムテスト stat(2)システムコールを実行し、結果をシステムヘッダーファイルと照合します。このように、file コマンドは、ファイルがシステムの一般的なタイプ(テキストファイル、画像、ディレクトリなど)であるかどうかを判断します。
  • 魔法のテスト ファイルの先頭近くに格納されている短い数字の文字列(「マジックナンバー」)を使用して、ファイルがバイナリ実行可能ファイルであるかどうかをテストし、バイナリ実行可能ファイルである場合はそのタイプを判別します。これらのテストを実行するために必要な情報は、 / etc / magicに保存されています。 または/usr / share / misc / magic コンパイルされたマジックファイルから。
  • 言語テスト 特別なタグを使用して、バイナリ実行可能ファイルが書き込まれるプログラミング言語を判別します。

コマンド出力は、ファイルとデータ型の簡単な説明を提供します。たとえば、fileを使用します テキストファイルをテストするコマンド:

file example.txt

ファイルコマンドオプション

file コマンドは次のオプションを使用します:

オプション 説明
--apple コマンド出力を古いバージョンのMacOSで使用されているものに変更します。
-b, --brief コマンド出力をブリーフモードに変更します。
-C, --compile 事前に解析されたバージョンのマジックファイルまたはディレクトリを含む出力ファイルを作成します。
-c, --checking-printout 解析されたバージョンのマジックファイルのプリントアウトをチェックします。
-d 内部デバッグ情報を標準エラー形式で出力します。
-E ファイルシステムエラーが発生すると、エラーメッセージを発行して終了します。
-e, --exclude ファイルに対して実行されたテストのリストからテストを除外します。
--exclude-quiet fileのテストを除外します コマンドは知りません。
--extension ファイルタイプの有効な拡張子のリストを出力します。
-F, --separator 指定された文字列をファイル名とファイルタイプの区切り文字として使用します。
-f, --files-from テストするファイルのリストとして提供されたテキストファイルを使用します。リストには、1行に1つのファイル名のみを含める必要があります。
-h, --no-deference シンボリックリンクをたどるのを無効にします。
-i, --mime コマンド出力をMIMEタイプの文字列に変更します。
--mime-type, --mime-encoding コマンド出力をMIMEタイプの文字列に変更し、指定された要素(タイプまたはエンコーディング)のみを表示します。
-k, --keep-going 最初の結果が一致した後もテストを続行します。
-l, --list 一致するパターンのリストを強度の降順で表示します。
-L, --deference 次のシンボリックリンクを有効にします。
-m, --magic-file ユーザーが提供する代替のマジックファイルを使用します。
-N, --no-pad 出力に合わせてファイル名を埋め込みません。
-n, --no-buffer 各ファイルをチェックした後に出力をフラッシュします。
-p, --preserve-date ファイルが最後にアクセスされた時刻を保持して、fileのように見せようとします コマンドはそれをテストしませんでした。
-P, --parameter 最大バイト数や再帰、カウント、長さの制限など、さまざまなパラメータを設定します。
-r, --raw 印刷できない文字の翻訳を無効にします。
-s, --special-files 特殊ファイルの読み取りを有効にします。
-S, --no-sandbox それをサポートするシステムでサンドボックスを無効にします。
-v, --version fileのバージョンを表示します コマンド。
-z, --uncompress 圧縮ファイルをチェックします。
-Z, --uncompress-noreport 圧縮されたファイルをチェックし、圧縮されていないファイルタイプのみを表示します。
-0, --print0 ファイル名の終わりの後にヌル文字を表示します。
--help ヘルプメッセージを表示します。

ファイルコマンドの例

以下は、fileの一般的な使用例です。 コマンド。

複数のファイルをテストする

複数のファイルを同時にテストするには、ファイル名をfileの最後に追加します コマンド:

file [file name 1] [file name 2] … [file name n]

たとえば、ディレクトリ、テキストファイル、画像、およびWebページをテストします。

file Example example.txt sample.png index.html

ディレクトリ内のすべてのファイルをテストする

ワイルドカード文字を追加します( * file 現在の作業ディレクトリ内のすべてのファイルとディレクトリをテストするコマンド:

file *

ディレクトリへのパスをワイルドカード文字に追加して、そのディレクトリの内容をテストします。

file [path to directory]/*

たとえば、の内容をテストするには ディレクトリ、使用:

file Example/*

範囲内のテストファイル

file コマンドを使用すると、正規表現スタイルの範囲を使用して、ディレクトリ内のファイルのサブセットをテストできます。値を角かっこで囲んで範囲を選択します。たとえば、名前がa〜lの範囲のファイルとディレクトリをテストします。

file [a-l]*

正規表現スタイルの範囲では大文字と小文字が区別されるため、上記の例の出力には、小文字のa〜lで始まるファイルのファイルタイプのみが表示されます。別の範囲を追加すると、大文字も含めることができます:

file [a-l]* [A-L]*

リストからのテストファイル

file コマンドを使用すると、テストするファイルのリストとしてテキストファイルを使用できます。テキストファイルには、1行に1つのファイル名のみを含める必要があります。

-fを使用します オプションを選択し、リストファイルへのパスをfileに追加します コマンド:

file -f list.txt

特別なファイルをテストする

file コマンドは、システムファイルなどの特別なファイルを常に読み取ることができるとは限りません:

file /dev/sda5

上記の例では、fileコマンドの出力は / dev / sda5を示しています。 はブロック特殊ファイルですが、追加の詳細は提供していません。 -sを使用する オプションを使用すると、特別なファイルを完全にテストできます:

sudo file -s /dev/sda5

圧縮ファイルのテスト

-zを使用します 圧縮ファイルを完全にテストし、その内容を検出しようとするオプション:

file -z install.tar.gz

解析されたバージョンのファイルをテストする

-cを使用する オプションは、ファイルの解析されたバージョンのチェックプリントアウトを表示します:

file -c example.txt

このオプションは通常、 -mで使用されます 新しいマジックファイルをデバッグしてインストールするオプション。

簡単な出力を表示する

-bを使用する オプションは、出力の簡単なバージョンを表示します。このバージョンの出力では、ファイルタイプのみが表示され、ファイル名は省略されています。

file -b Example example.txt sample.png index.html

出力にセパレータを追加

-Fを使用する オプションを使用すると、出力のファイル名セクションとファイルタイプセクションの間の区切り文字として機能する文字を定義できます。たとえば、プラス記号( +)を追加します )区切り文字として:

file -F + Example example.txt sample.png index.html

出力からファイル名のパディングを削除

-Nを使用します 出力のファイル名セクションとファイルタイプセクションの間のパディングを削除するオプション:

file -N Example example.txt sample.png index.html

結果の出力は垂直方向に整列されなくなります:


Linux
  1. Linuxでコマンド出力をファイルに保存する方法

  2. LinuxでTarコマンドを使用する方法

  3. Linuxでファイルシステムの種類を確実に判断する方法は?

  1. Linuxでファイルまたはディレクトリを削除(削除)する方法

  2. Linuxでmd5sumコマンドを使用する方法

  3. Linuxでtouchコマンドを使用する方法

  1. Linuxheadコマンドの使用方法

  2. Linuxのdiffコマンドの使用方法

  3. Linuxでファイルを複数のディレクトリにコピーする方法