stat コマンドは、ファイルやディレクトリに関する詳細な情報(サイズ、権限、所有者、最終アクセス・更新時刻など)を表示するコマンドです。
実務では、ファイルの更新時間を調べたり、権限や inode 情報を確認する際に利用されます。
構文(Syntax)
stat [オプション] [FILE...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | デフォルトのフォーマットでファイル情報を表示 | stat file.txt |
-c FORMAT | 出力フォーマットを指定 | stat -c "%n %s %y" file.txt |
-f | ファイルではなくファイルシステムの情報を表示 | stat -f /home |
--printf=FORMAT | printf 形式で詳細に出力 | stat --printf="Size: %s\n" file.txt |
--help | ヘルプを表示 | stat --help |
実行例
ファイルの詳細情報を表示
stat file.txt
出力例:
File: file.txt
Size: 1234 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 56789 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ alice) Gid: ( 1000/ alice)
Access: 2025-08-21 09:00:00.000000000 +0900
Modify: 2025-08-21 08:55:00.000000000 +0900
Change: 2025-08-21 08:55:05.000000000 +0900
Birth: -
出力フォーマットを指定して表示
stat -c "%n %s %y" file.txt
出力例:
file.txt 1234 2025-08-21 08:55:00.000000000 +0900
ファイルシステムの情報を表示
stat -f /home
出力例:
File: "/home"
ID: 12345678 Namelen: 255 Type: ext4
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 52428800 Free: 50000000 Available: 49000000
Inodes: Total: 3276800 Free: 3250000
複数ファイルの情報を表示
stat file1.txt file2.txt
エラー例(存在しないファイルを指定)
stat missing.txt
出力例:
stat: cannot stat 'missing.txt': No such file or directory
関連コマンド
ls -l: ファイルの権限やサイズを簡易表示df: ファイルシステムの使用状況を表示du: ディレクトリ・ファイル単位の容量を表示file: ファイルの種類を判定
備考
statは ファイル単位の詳細情報 と ファイルシステム単位の情報 の両方を取得可能。-cまたは--printfを使うとスクリプト内で扱いやすい形式に整形できる。- BSD 系(macOS など)では
statのオプション体系が GNU 版と異なるため注意が必要。
参考
- manページ: man7.org stat(1)
- GNU Coreutils: https://www.gnu.org/software/coreutils/

コメント