カテゴリ: Linuxコマンド集 更新日: 2026/03/30

stat -fオプションの使い方を完全ガイド!初心者でもわかるファイルシステム情報の確認方法

stat -fオプション|ファイルが置かれているファイルシステム情報を表示する
stat -fオプション|ファイルが置かれているファイルシステム情報を表示する

先生と生徒の会話形式で理解しよう

生徒

「先生、Linuxでファイルの情報を見るstatコマンドってありますよね?-fオプションって何のために使うんですか?」

先生

「良い視点ですね。-fオプションは、ファイル自体ではなく、そのファイルが置かれているファイルシステムの情報を見るためのものです。」

生徒

「ファイルシステムって何ですか?それを見てどうするんですか?」

先生

「わかりました。ファイルシステムについても、ゆっくり説明しますね!」

1. statコマンドとは?

1. statコマンドとは?
1. statコマンドとは?

Linuxにおけるstat(ステート)コマンドは、ファイルやディレクトリの詳細情報を表示するためのコマンドです。通常は、そのファイル自身の「最終更新日時」「サイズ」「所有者」などを確認するために使用しますが、-fオプションを使うと、ファイルが存在するファイルシステムの情報を見ることができます。

2. ファイルシステムとは?

2. ファイルシステムとは?
2. ファイルシステムとは?

ファイルシステムとは、Linuxや他のOSでファイルを管理・保存する仕組みのことです。簡単に言えば、ファイルをどのように配置し、どのように記録するかを決める「ルール」です。例えば、USBメモリやHDDの中には「ext4」や「xfs」などのファイルシステムがあります。

ファイルがどんなファイルシステム上にあるかを知ることで、対応している機能や制限(ファイル名の長さ、最大サイズなど)を確認できるようになります。

3. stat -fオプションの基本的な使い方

3. stat -fオプションの基本的な使い方
3. stat -fオプションの基本的な使い方

-fオプションを使うと、ファイルやディレクトリが保存されているファイルシステムの統計情報を表示します。以下が基本的な使い方です。


stat -f index.html
  File: "index.html"
    ID: b1c2d3e4     Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 524288     Free: 512000     Available: 511000
Inodes: Total: 131072     Free: 130000

このように、ファイルシステムの種類(Type)、使用可能なブロック数(Available)、ブロックサイズ(Block size)などが表示されます。

4. stat -fで確認できる主な項目

4. stat -fで確認できる主な項目
4. stat -fで確認できる主な項目

それぞれの出力項目について初心者向けにやさしく説明します。

  • Type: ファイルシステムの種類(例:ext4、xfsなど)。これによりファイル保存の特性が異なります。
  • Block size: ファイルが保存されるときの単位サイズ。これは効率や容量に影響します。
  • Available: 現在使える空き容量(ブロック数)。ディスク残量のようなものです。
  • Inodes: Linuxでファイルを管理するための「住所」のような仕組みで、これが足りないと空き容量があっても新しいファイルが作れません。

5. stat -fとstat(通常使用)の違い

5. stat -fとstat(通常使用)の違い
5. stat -fとstat(通常使用)の違い

statだけで実行すると、以下のようにファイル自身の情報が表示されます。


stat index.html
  File: index.html
  Size: 2048       Blocks: 8       IO Block: 4096   regular file
Device: 802h/2050d   Inode: 123456   Links: 1
Access: 2025-09-01 12:00:00.000000000 +0900
Modify: 2025-09-01 11:00:00.000000000 +0900
Change: 2025-09-01 11:30:00.000000000 +0900

このように、statは「ファイルそのものの属性」を見るのに対し、stat -fは「そのファイルが置かれている土台(ファイルシステム)」を見るという違いがあります。

6. stat -fとdfコマンドとの違い

6. stat -fとdfコマンドとの違い
6. stat -fとdfコマンドとの違い

Linuxでは、ディスクの空き容量を見るためにdfコマンドもよく使います。


df index.html
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       20971520  1048576 19922944   5% /

このように、dfは全体の使用量とマウントポイントなどを表示しますが、stat -fはより詳細な構造情報(inodes、ブロックサイズなど)を教えてくれます。どちらも補完的に使うと便利です。

7. stat -fと--format(-c)オプションの組み合わせ

7. stat -fと--format(-c)オプションの組み合わせ
7. stat -fと--format(-c)オプションの組み合わせ

statコマンドは--formatまたは-cオプションを使って出力の形式をカスタマイズできます。-fと組み合わせると、特定の情報だけを抜き出して見ることができます。


stat -f -c "%T" index.html
ext2/ext3

このように、%Tを指定することでファイルシステムの種類だけを表示することができます。スクリプトやログに使うときに便利です。

8. stat -fを使うタイミングと活用例

8. stat -fを使うタイミングと活用例
8. stat -fを使うタイミングと活用例

stat -fは、以下のような場面で役立ちます。

  • ファイルがどのファイルシステムにあるか確認したいとき
  • 空き容量が足りない原因を調べるとき(inodes不足など)
  • スクリプトでファイルシステムごとの処理を分けたいとき

特に複数のHDDやSSD、USBメモリなどを使っている環境では、どこに保存されているかを意識することがトラブル防止につながります。

まとめ

まとめ
まとめ

ここまで、Linuxの「stat -f」コマンドについて詳しく解説してきました。普段、何気なくファイルを保存したり編集したりしていますが、その背後には「ファイルシステム」という巨大な管理システムが動いています。 statコマンドに「-f」というオプションを添えるだけで、ファイルそのもののステータスではなく、そのファイルが属している「土台」の状態を瞬時に把握できることがお分かりいただけたかと思います。

stat -fコマンドで学んだ重要ポイント

Linuxシステムを管理する上で、特に意識しておきたいポイントを改めて整理しておきましょう。

  • ファイルシステム情報の可視化: ファイル名、ID、種類(Type)、ブロックサイズ、そしてiノード(Inodes)の状態を一画面で確認できます。
  • ディスク容量不足の真実を知る: 「ディスク容量(Blocks)は空いているのに、なぜか新しいファイルが作れない」といったトラブルの際、iノード(Inodes)が枯渇していないかを確認する手段として非常に有効です。
  • 環境の互換性チェック: 自分が今操作しているディレクトリが、高速な「xfs」なのか、汎用的な「ext4」なのか、あるいはネットワーク経由の「nfs」なのかを知ることで、パフォーマンスの予測やコマンドの挙動の理解が深まります。

実践的なコマンド操作の振り返り

実際にターミナルを叩いて情報を確認する際、一般ユーザーとルートユーザーでは見える景色が変わることもあります。特にシステム全体のファイルシステム構成を詳細に調査する場合は、ルート権限が必要になる場面も出てくるでしょう。

まずは、一般ユーザーとして現在のディレクトリが属するファイルシステムの種類を確認してみましょう。


stat -f .
  File: "."
    ID: 80200000000 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61022208  Free: 45892104  Available: 42774528
Inodes: Total: 15507456  Free: 15123456

次に、ルートユーザーとしてシステム全体の中でも重要なディレクトリ(例えば /proc など)の特殊なファイルシステムを確認する場合の例です。


stat -f /proc
  File: "/proc"
    ID: 0        Namelen: 255     Type: proc
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 0         Free: 0         Available: 0
Inodes: Total: 0         Free: 0

このように、ディレクトリによって「Type」が「proc」になったり「tmpfs」になったりと、Linuxが内部で使い分けている仕組みが手に取るようにわかります。 Linux初心者の方は、まずは「自分のホームディレクトリがどんなファイルシステムか?」を調べてみることから始めてみてください。それが、サーバー管理やインフラ構築への第一歩となります。

先生と生徒の振り返り会話

生徒

先生、ありがとうございました!stat -fのおかげで、ファイルそのものだけじゃなくて、その「入れ物」のルールまで見えるんですね。 さっき自分のパソコンで試してみたら、Type: ext2/ext3って出てきました。これは古いタイプなんですか?

先生

いい質問ですね!実は、現在のLinux(UbuntuやCentOSなど)で広く使われている「ext4」というファイルシステムも、statコマンドの出力では互換性のために「ext2/ext3」と表示されることが多いんですよ。 もし、もっと正確に名前だけを知りたいなら、さっき学習したフォーマット指定を使ってみましょう。

生徒

あ、-c "%T"を使うやつですね!やってみます!


stat -f -c "%T" .
ext2/ext3

やっぱり「ext2/ext3」でした。でも、先生が教えてくれた「iノード(Inodes)」っていうのがすごく気になります。 これって、住所の空きがなくなると、ハードディスクに余裕があってもファイルが保存できなくなるってことですよね?

先生

その通り!素晴らしい理解です。例えば、すごく小さなファイルを何百万個も作ってしまうと、容量(Blocks)は全然使っていないのに、iノードが使い果たされてエラーになることがあるんです。 これを「iノード枯渇」と呼びます。インフラエンジニアにとっては、真っ先に疑うべきポイントの一つなんですよ。

生徒

なるほど……。df -iコマンドでも見れるって聞きましたけど、stat -fなら特定のファイルが置かれている場所だけに絞ってサッと確認できるから便利ですね! ファイルの中身を見るcatや、一覧を見るlsだけじゃなくて、この土台を意識するコマンドも使いこなせるようになりたいです。

先生

その意気ですよ。Linuxは、こうした小さなコマンドの組み合わせで大きなシステムを管理しています。 stat -fで表示される「Block size」の数字も、実はデータの読み書き速度に影響していたりします。 次は、実際に巨大なファイルを扱ったときに、このブロックサイズがどう関係してくるかについても一緒に勉強していきましょうか。

生徒

はい!もっともっと詳しくなりたいので、よろしくお願いします!まずは自分のUSBメモリを指して、ファイルシステムの種類がどう違うか調べてみますね。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
rm --helpオプションを使ってみよう!初心者でもわかるLinuxのヘルプ表示方法
New2
テキスト処理とフィルタ
moreコマンドとlessコマンドの違いと使い方を完全ガイド!初心者でもわかるLinuxのページ表示の基本
New3
ファイル・ディレクトリ操作
basenameの--helpオプションを使ってヘルプ表示!オプション一覧でLinuxコマンドを理解しよう
New4
ファイル・ディレクトリ操作
stat --helpオプションの使い方|オプション一覧を表示してLinuxコマンドの使い方を確認しよう
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門