カテゴリ: Linuxコマンド集 更新日: 2025/11/02

statコマンドとは?Linuxでファイルやディレクトリの詳細情報を確認する基本

statコマンドとは?Linuxでファイルやディレクトリの詳細情報を確認する基本
statコマンドとは?Linuxでファイルやディレクトリの詳細情報を確認する基本

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

生徒

「Linuxでファイルの詳しい情報を確認する方法ってありますか?」

先生

「Linuxではstatコマンドを使うと、ファイルやディレクトリの詳細な情報を簡単に確認できますよ。」

生徒

「それってls -lと何が違うんですか?」

先生

「とても良い質問です。実際に使いながら、違いや基本的な使い方を見てみましょう!」

1. statコマンドとは?

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

statコマンドは、LinuxやUnix系OSでファイルやディレクトリの詳細な情報を表示するためのコマンドです。具体的には、ファイルのサイズ、更新日時、所有者、アクセス権限、iノード番号など、さまざまな情報を一括で確認できます。

ls -l」コマンドでもある程度の情報は見られますが、statコマンドの方がより詳しい情報を一覧で取得できるため、システム管理やファイルの調査にとても役立ちます。

2. 基本的な使い方

2. 基本的な使い方
2. 基本的な使い方

statコマンドの基本構文はとてもシンプルです。


stat ファイル名

例えば、「sample.txt」というファイルがある場合、その詳細を確認するには以下のように入力します。


stat sample.txt
  File: sample.txt
  Size: 1024       Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d Inode: 131074      Links: 1
Access: 2025-09-15 10:00:00.000000000 +0900
Modify: 2025-09-14 18:30:00.000000000 +0900
Change: 2025-09-14 18:30:00.000000000 +0900
 Birth: -

このように、ファイルに関する様々な情報が一気に表示されます。

3. 表示される主な項目の意味

3. 表示される主な項目の意味
3. 表示される主な項目の意味
  • Size: ファイルのサイズ(バイト単位)です。
  • Blocks: ファイルが使っているディスクのブロック数。
  • IO Block: 入出力時のブロック単位。
  • File: ファイルの名前と種類(例:regular file=通常ファイル)。
  • Inode: ファイルの一意な識別番号。
  • Links: ハードリンクの数。
  • Access: 最後にアクセスされた日時。
  • Modify: 内容が最後に変更された日時。
  • Change: メタデータ(属性情報)が最後に変更された日時。

これらの情報から、「いつ誰がファイルを触ったのか」や、「どのくらいのサイズがあるのか」など、ファイルの状態を詳細に知ることができます。

4. ディレクトリの情報を確認する

4. ディレクトリの情報を確認する
4. ディレクトリの情報を確認する

ファイルだけでなく、ディレクトリに対してもstatコマンドは使えます。


stat Documents
  File: Documents
  Size: 4096       Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d Inode: 131075      Links: 3
Access: 2025-09-15 10:15:00.000000000 +0900
Modify: 2025-09-14 20:00:00.000000000 +0900
Change: 2025-09-14 20:00:00.000000000 +0900
 Birth: -

「directory」と表示されていることから、この対象がディレクトリであると分かります。lsコマンドでは分からないようなディレクトリの詳細も確認できます。

5. オプションを使って表示内容をカスタマイズ

5. オプションを使って表示内容をカスタマイズ
5. オプションを使って表示内容をカスタマイズ

statコマンドにはいくつか便利なオプションもあります。

■ --format(または -c)

特定の情報だけを表示したいときは、--formatオプションを使います。


stat --format="%s %n" sample.txt
1024 sample.txt

この例では、「サイズ(%s)」と「ファイル名(%n)」だけを表示しています。

■ --printf

--printfオプションを使えば、表示内容をより細かくカスタマイズできます。


stat --printf="名前: %n\nサイズ: %s バイト\n" sample.txt
名前: sample.txt
サイズ: 1024 バイト

6. ls -lとの違いは?

6. ls -lとの違いは?
6. ls -lとの違いは?

ls -lコマンドでもファイルの情報は見られますが、statのほうが情報量が多く、アクセス時刻・変更時刻・iノードなども表示されます。ログ調査やファイルの問題を追跡する際には、statの方が便利です。

以下はls -lの例です。


ls -l sample.txt
-rw-r--r-- 1 user user 1024 Sep 14 18:30 sample.txt

一方でstatでは、時間情報が秒単位で出たり、iノード番号などの詳細が見えるため、用途によって使い分けましょう。

7. よくある用途や活用例

7. よくある用途や活用例
7. よくある用途や活用例
  • ファイルが「いつ」変更されたかを確認する
  • 誰が所有者かを調べたいとき
  • ディスクのブロック単位の使用状況を知りたいとき
  • iノード番号を調べて、ハードリンクの関係性を確認したいとき

特にシステム管理や障害調査、バックアップスクリプトの作成など、中上級者向けの用途にも活用できる基本コマンドです。

関連記事:
カテゴリの一覧へ
新着記事
touch --no-createオプションの使い方を完全ガイド!初心者でもわかるファイルの新規作成防止法
basenameのSUFFIX指定で拡張子を除いてファイル名を取得する方法を解説!初心者向けLinuxコマンド講座
mv -tオプションの使い方|移動先ディレクトリを先に指定する便利な方法
lsコマンドの-rオプション|逆順(降順)でファイルを並べる方法を初心者向けに解説!
人気記事
No.1
Java&Spring記事人気No1
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.2
Java&Spring記事人気No2
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
No.3
Java&Spring記事人気No3
rm -Rオプションとは?初心者でもわかる再帰的にディレクトリを削除する方法
No.4
Java&Spring記事人気No4
Linuxコマンドpwd --help解説|オプション一覧を表示して使い方を確認する方法