【Linux】statコマンドでファイルやディレクトリの情報を確認する

【Linux】statコマンドでファイルやディレクトリの情報を確認する

PR Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:2,281 / 総アクセス数:1 views

Linuxのstatコマンドの使い方をわかりやすく解説します。ファイルのサイズ、アクセス権限、所有者、3つのタイムスタンプ(更新日時・アクセス日時・状態変更日時)など、lsコマンドよりも詳細な情報を確認する基本的な使い方やフォーマット指定方法を紹介します。

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

初心者向け

わかばちゃんと学ぶ サーバー監視

難易度
実用性
読みやすさ

マンガと図解が中心で圧倒的に読みやすい。負荷調査の手法がスッと理解できるようになります。

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ

LinuxLinux [リナックス / ライナックス]オープンソースのOSカーネルでファイルやディレクトリの詳細な情報を確認したい場合、通常は ls -l コマンドを使用することが多いでしょう。しかし、ls -l では確認できないさらに細かい情報(正確なタイムスタンプ、iノード番号、ブロックサイズなど)を知りたいときに便利なのが stat コマンドです。

本記事では、stat コマンドの基本的な使い方から、出力結果の見方、便利なフォーマット指定オプションについてわかりやすく解説します。

statコマンドとは?

stat コマンドは、ファイルやファイルシステムの状態(status)を詳細に表示するコマンドです。

ファイルのサイズや所有者、アクセス権限だけでなく、「いつ作成・アクセス・更新されたか」というタイムスタンプ情報や、ディスク上のブロック情報など、ファイルシステムレベルの細かな属性情報を一目で確認することができます。

statコマンドの基本的な使い方

ターミナルで stat コマンドの後に、詳細を確認したいファイルやディレクトリのパスを指定します。

書式
stat [オプション] [ファイル名/ディレクトリ名]

ファイルの詳細情報を表示する

例えば、sample.txt というファイルの詳細情報を表示する場合は以下のように実行します。

実行例
stat sample.txt

実行すると、以下のような詳細情報が出力されます。

実行結果
File: sample.txt
Size: 1024 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1234567 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2026-08-15 10:00:00.000000000 +0900
Modify: 2026-08-14 15:30:00.000000000 +0900
Change: 2026-08-14 15:30:00.000000000 +0900
Birth: -

出力結果の見方

出力される各項目の意味は以下の通りです。

  • File: ファイル名またはディレクトリ名。
  • Size: ファイルのサイズ(バイト単位)。
  • Blocks: ファイルに割り当てられているディスクブロック数。
  • IO Block: ファイルシステムのI/Oブロックサイズ。
  • ファイルの種類: 上記の例では regular file(通常のファイル)。ディレクトリの場合は directory となります。
  • Device: ファイルが存在するデバイス番号。
  • Inode: iノード(inode)番号。ファイルシステム内でファイルを一意に識別するための番号です。
  • Links: ハードリンクの数。
  • Access: アクセス権限(パーミッション)。8進数表記(0644など)とシンボリック表記(-rw-r--r--など)の両方が表示されます。
  • Uid / Gid: 所有者のユーザーID・名前と、グループID・名前。

3つの重要なタイムスタンプ

stat コマンドでは、ファイルに関する重要なタイムスタンプを秒以下の精度で確認できます。

  1. Access(アクセス日時 - atime): ファイルの内容が最後に「読み込まれた」日時。
  2. Modify(更新日時 - mtime): ファイルの内容が最後に「変更された」日時。(ls -l で表示されるのは基本的にこの日時です)
  3. Change(状態変更日時 - ctime): ファイルの内容、または属性(権限や所有者など)が最後に「変更された」日時。
  4. Birth(作成日時 - btime): ファイルが作成された日時。※比較的新しい stat コマンド(GNU coreutils 8.32以降など)や、ext4などの対応ファイルシステム、十分新しいカーネル環境でのみサポートされています。未対応の古い環境では、-(ハイフン)と表示されるか、あるいは「Birth」の行自体が出力されません。

よく使う便利なオプション

※注意:macOSmacOS [マックオーエス]Appleが開発するMac用のオペレーティングシステム(BSD版)との違いについて
本記事はLinux(GNU版)の stat コマンドを対象としています。macOS(BSD版)の stat コマンドでは、後述する -f がフォーマット指定に使われ、-c オプションが使えない(エラーになる)など、オプションの挙動が大きく異なりますのでご注意ください。

stat コマンドには、出力内容をカスタマイズできる便利なオプションがあります。

-c(—format):必要な情報だけを抽出する

スクリプトなどで特定の情報だけを取り出したい場合は、-c(または --format)オプションを使用します。フォーマット指定子を使って、出力形式を自由に定義できます。

実行例(ファイルのサイズと権限だけを表示)
stat -c "サイズ: %s バイト, 権限: %a" sample.txt
実行結果
サイズ: 1024 バイト, 権限: 644

【よく使うフォーマット指定子】

  • %n: ファイル名
  • %s: ファイルサイズ(バイト)
  • %a: 8進数表記のアクセス権限(例: 644)。※本来はファイルタイプビットを含まない権限のみを返します(一部バージョンでは # フラグなどを利用してファイルタイプ込みの表示も可能)。
  • %A: シンボリック表記のアクセス権限(例: -rw-r—r—)
  • %U: 所有者のユーザー名
  • %G: 所有者のグループ名
  • %x: アクセス日時
  • %y: 更新日時
  • %z: 状態変更日時

-f(—file-system):ファイルシステムの状態を表示する

ファイルそのものではなく、そのファイルが存在する「ファイルシステム(ディスク・パーティション)」全体の状態を確認したい場合は -f オプションを使います。

実行例
stat -f /
実行結果
File: "/"
ID: 10000000000 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 12345678 Free: 8765432 Available: 8000000
Inodes: Total: 1234567 Free: 1000000

このコマンドにより、ファイルシステムのブロックサイズや、空き容量、使用可能なiノード数などを確認できます。

まとめ

stat コマンドのポイントは以下の通りです。

  • ファイルやディレクトリの詳細な状態を表示するコマンド。
  • ls -l よりも詳細な情報(iノード番号、8進数のパーミッション、秒以下のタイムスタンプなど)を一目で確認できる。
  • 特に Access(アクセス) / Modify(内容の更新) / Change(属性の変更) の3つのタイムスタンプを正確に知りたい場合に重宝する。
  • -c オプションを使えば、欲しい情報だけをフォーマット指定して抽出できるため、シェルスクリプトにも組み込みやすい。

ファイルのトラブルシューティングや、細かい属性情報の確認が必要になった際は、ぜひ stat コマンドを活用してみてください。


以上で本記事の解説を終わります。
よいITライフを!
ITナレッジライフ 運営者
この記事を書いた人

Z (ITナレッジライフ)

現役のITエンジニア。Linux、プログラミング、IT用語など、日々の業務で得た「痒いところに手が届く」技術情報を発信しています。

プロフィールと編集ポリシーを見る

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

人気記事


記事を評価

Thanks!
目次
Scroll to Top