stat – ファイルやファイルシステムの詳細情報を表示するコマンド

コマンドリファレンス

stat コマンドは、ファイルやディレクトリに関する詳細な情報(サイズ、権限、所有者、最終アクセス・更新時刻など)を表示するコマンドです。
実務では、ファイルの更新時間を調べたり、権限や inode 情報を確認する際に利用されます。

構文(Syntax)

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

主なオプション一覧

オプション説明使用例
(なし)デフォルトのフォーマットでファイル情報を表示stat file.txt
-c FORMAT出力フォーマットを指定stat -c "%n %s %y" file.txt
-fファイルではなくファイルシステムの情報を表示stat -f /home
--printf=FORMATprintf 形式で詳細に出力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 版と異なるため注意が必要。

参考

Bash玄

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

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

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

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

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

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

Bash玄をフォローする

コメント