No.030ファイルとフォルダ

file

ファイル・ファイル種別判定

知識レベル 基礎安全に試せる一般ユーザーで使える

ファイルの内容を調べ、テキスト、実行形式、圧縮形式、画像などの種別を推定します。名前や拡張子に頼れない場面で特に有効です。

答えよく使う形

  1. テキストファイルと判定されます
  2. 実行形式の概要が分かります
  3. 人が読む説明ではなくMIME型を表示します
visitor@goodly: ~

$ file /etc/passwd

/etc/passwd: ASCII text

$ file /bin/ls

/bin/ls: ELF 64-bit LSB pie executable, x86-64, ...

$ file -i archive.tar.gz

覚える順番の中でLPIC-1・7 駅め / 106

どんなコマンド?

こんなときに

見慣れないファイルの正体を知りたい時、拡張子と中身が一致しているか確かめたい時、実行形式かテキストかを素早く見分けたい時、障害調査で破損や形式不一致を疑う時に使います。

fileは、対象ファイルの中身や属性を調べて種類を推定するコマンドです。単に拡張子を見るのではなく、既知の判定規則と照合して「ASCIIテキスト」「ELF実行形式」「gzip圧縮データ」のように説明してくれます。正体不明のファイルや、名前だけでは区別できない成果物の確認に向いています。

実務では、受け取ったファイルの中身確認、壊れたアーカイブの切り分け、実行ファイルや共有ライブラリの識別、文字コードやバイナリ混入の確認などに使います。障害対応では、まずfileで正体を把握し、その後に適切な道具へつなぐ流れがとても強力です。

ただしfileは「推定」であり、完全な保証ではありません。独自形式、途中破損、暗号化済みデータ、断片だけのファイルでは意図どおりに判定できないことがあります。結果を唯一の真実とせず、hexdumpやstrings、圧縮展開の可否などと併せて判断する姿勢が大切です。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ file

使用例と実行結果

行を押すとコピーできます。

/etc/passwd: ASCII text
テキストファイルと判定されます。
/bin/ls: ELF 64-bit LSB pie executable, x86-64, ...
実行形式の概要が分かります。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

ゲームで確かめる

つまずいたとき

拡張子が.txtだからテキストだと思い込んでいた

原因名前だけで形式を判断しています。

こうするまずfileで中身の種別を確認し、必要ならhexdumpやstringsで追加確認します。

リンク先ではなくリンクそのものを調べてしまった

原因シンボリックリンクをたどらずに判定しています。

こうする実体を見たい時はfile -Lを使います。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。判定結果を出力できました。
  • >0対象不存在、読取不能、判定処理のエラーなどで失敗しました。

気をつけることと入れ方

気をつけること

危険度は低いですが、判定結果を過信するのは危険です。形式推定が誤る可能性や、実体ではなくシンボリックリンク自体を見ている可能性があるため、必要に応じて-Lや追加調査を使います。

環境による違い

fileはPOSIX標準の中核ユーティリティではなく、実装と判定規則データベースに依存します。環境ごとに表現や精度が少し異なるため、記事では「概ねこう判定される」と書くのが安全です。

確かめた環境2026-04-09 に確認

よくある質問

fileの結果は絶対に正しいですか。

いいえ。判定規則に基づく推定なので、破損ファイルや独自形式では外れることがあります。

MIME型だけを知りたい時はどうしますか。

-iを使うとMIME型と文字集合の情報を得やすくなります。

資格試験では

  • LinuC レベル1大事1.02.2 基本的なファイル管理の実行fileは、LinuCレベル1の基本的なファイル管理を理解するうえで重要なコマンドです。
  • LPIC-1大事103.3 基本的なファイル管理の実行fileは、LPIC-1のファイルとディレクトリの基本操作に関わる代表的なコマンドです。
  • 共通基礎大事Linuxコマンド基礎fileは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。

file を最後まで読みました。

Linux コマンド辞典に戻る32 / 144

Goodly のメニュー