file – ファイルの種類を判定するコマンド

コマンドリファレンス

file コマンドは、指定したファイルの内容を解析し、その 種類(テキストファイル、実行ファイル、画像ファイルなど) を判定するコマンドです。
実務では、拡張子に依存せずファイル形式を確認したり、不明なファイルの中身を特定する際に利用されます。

構文(Syntax)

file [オプション] [FILE...]

主なオプション一覧

オプション説明使用例
(なし)ファイルの種類を判定file document.txt
-iMIME タイプを表示file -i image.png
-bファイル名を表示せず種類だけ出力file -b document.txt
-z圧縮ファイルを展開して中身を判定file -z archive.gz
-f FILE指定ファイル内に列挙された複数ファイルをまとめて判定file -f filelist.txt
-Lシンボリックリンクを辿って判定file -L linkfile
-s特殊ファイル(デバイスファイルなど)の内容を表示file -s /dev/sda

実行例

テキストファイルを判定

file document.txt

出力例:

document.txt: ASCII text

バイナリファイルを判定

file program

出力例:

program: ELF 64-bit LSB executable, x86-64, dynamically linked, ...

MIMEタイプを表示

file -i image.png

出力例:

image.png: image/png; charset=binary

ファイル名を表示せず種類のみ出力

file -b document.txt

出力例:

ASCII text

圧縮ファイルの中身を判定

file -z archive.gz

出力例:

archive.gz: gzip compressed data, was "data.txt", last modified: Thu Aug 21 10:00:00 2025

複数ファイルを一度に判定

file file1.txt file2.jpg

出力例:

file1.txt: UTF-8 Unicode text
file2.jpg: JPEG image data, Exif standard

エラー例(存在しないファイルを指定)

file missing.txt

出力例:

missing.txt: cannot open (No such file or directory)

関連コマンド

  • stat : ファイルの詳細情報(サイズ・更新日時など)を表示
  • ls -l : ファイルの属性を表示
  • strings : バイナリファイルから文字列を抽出
  • hexdump : ファイル内容を16進数で表示

備考

  • file コマンドは マジックナンバー(ファイル先頭の識別子)や文字コード解析によって種類を判定します。
  • 拡張子に依存せず、中身を解析して種類を特定するため信頼性が高いです。
  • 圧縮ファイルやアーカイブもある程度中身を判別可能です。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント