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

stat -cオプションの使い方を徹底解説!Linuxで出力フォーマットを自由に指定しよう

stat -cオプション|出力フォーマットを指定して表示する
stat -cオプション|出力フォーマットを指定して表示する

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

生徒

「statコマンドで表示される情報って多すぎて見づらいです…。必要な部分だけ表示できませんか?」

先生

「そのときに便利なのが、-cオプションです!出力内容を好きな形式で指定できるんですよ。」

生徒

「えっ、そんなことができるんですか!?使い方を教えてください!」

先生

「それでは、stat -cの基本から応用まで一緒に見ていきましょう!」

1. statコマンドとは?ファイルのステータスを確認する基本

1. statコマンドとは?ファイルのステータスを確認する基本
1. statコマンドとは?ファイルのステータスを確認する基本

stat(スタット)コマンドは、Linuxにおいてファイルやディレクトリの「詳細な状態(ステータス)」を表示するための強力なツールです。プログラミング未経験の方には「ファイルの健康診断書」のようなものだとイメージすると分かりやすいでしょう。

通常、ファイルを確認する際はlsコマンドを使いますが、statを使えば、ファイルサイズや更新日時だけでなく、システムの内部管理番号である「iノード番号」や、詳細な「タイムスタンプ(アクセス・更新・変更)」など、より専門的な情報を一目で確認できます。

初心者向けポイント
ls -lで見える情報はごく一部です。statを使えば、そのファイルがいつ作られ、最後に誰が触れたのかという「裏側の情報」まで丸見えになります。

まずは、一番シンプルな実行例を見てみましょう。引数に調べたいファイル名を指定するだけでOKです。


stat test.txt
  File: test.txt
  Size: 1024      	Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d	Inode: 123456      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    user)   Gid: ( 1000/    user)
Access: 2026-02-04 08:00:00.000000000 +0900
Modify: 2026-02-04 08:30:00.000000000 +0900
Change: 2026-02-04 08:30:00.000000000 +0900
 Birth: -

このように、一度の実行で膨大なデータが表示されます。しかし、情報が多すぎて「特定の数値だけを抽出して自動化に使いたい」といった場合には、少し見づらく感じてしまうかもしれません。そこで活躍するのが、今回詳しく解説する-cオプションです。

2. -cオプションで出力フォーマットを指定しよう

2. -cオプションで出力フォーマットを指定しよう
2. -cオプションで出力フォーマットを指定しよう

statコマンドの真骨頂とも言えるのが、この-c(または--format)オプションです。標準の出力では情報が多すぎて「結局どこを見ればいいの?」と迷ってしまうことがありますが、このオプションを使えば、必要な情報だけを「つまみ食い」して表示できます。

これは「書式指定子(フォーマット指定)」と呼ばれる、特定のアルファベットに%を付けた記号を組み合わせて使います。まるで、あらかじめ用意されたスタンプを押していくような感覚で、自分好みのレポート形式を作成できる仕組みです。

ここがポイント!
プログラミングの知識がなくても大丈夫です。「%nといえば名前」というように、特定の記号が特定の項目に対応していると覚えるだけで、誰でも自由自在に出力を操れるようになります。

たとえば、「ファイルの名前」と「ファイルの大きさ(サイズ)」の2つだけを知りたい場合の実行例を見てみましょう。


stat -c "%n %s" test.txt
test.txt 1024

このコマンドでは、以下の2つの指定子を使っています。

  • %n:ファイルの名前(Name)を表示する
  • %s:ファイルのサイズ(Size)をバイト単位で表示する

このように、ダブルクオーテーション(" ")の中に記号を並べるだけで、コマンドの結果がぐっとシンプルになり、一目で中身を把握できるようになります。複雑な画面から目を凝らして数値を探す手間が、これで一気に解消されます。

3. よく使うフォーマット指定子まとめ

3. よく使うフォーマット指定子まとめ
3. よく使うフォーマット指定子まとめ

ここでは、初心者が覚えておくと便利な代表的な書式指定子を紹介します。

  • %n:ファイル名
  • %s:ファイルサイズ(バイト)
  • %F:ファイルの種類(regular file、directoryなど)
  • %a:アクセス権(8進数)
  • %A:アクセス権(記号表記)
  • %U:所有者(ユーザー名)
  • %G:所有グループ
  • %y:最終更新時刻

たとえば、「ファイル名、ファイルの種類、アクセス権(記号)、所有者、サイズ」を一行で表示したい場合は次のように書きます。


stat -c "%n %F %A %U %s" test.txt
test.txt regular file -rw-r--r-- user 1024

4. 改行やスペースの調整も自由自在

4. 改行やスペースの調整も自由自在
4. 改行やスペースの調整も自由自在

-cオプションの書式は文字列なので、途中にスペースや改行記号(\n)を入れることで、出力の見た目を自由に調整できます。


stat -c "ファイル名: %n\nサイズ: %s バイト\n更新日時: %y" test.txt
ファイル名: test.txt
サイズ: 1024 バイト
更新日時: 2024-09-15 10:15:30.123456789 +0900

このように、日本語を混ぜた出力にすることで、スクリプトやレポート作成時にも便利です。

5. 複数ファイルにも使える

5. 複数ファイルにも使える
5. 複数ファイルにも使える

stat -cは、複数のファイルに対して一括で情報を取得することもできます。


stat -c "%n,%s" *.txt
file1.txt,2048
file2.txt,1024
file3.txt,512

このように、CSV形式で出力すれば、Excelなどに貼り付けるのも簡単です。

6. statとlsの違いを知っておこう

6. statとlsの違いを知っておこう
6. statとlsの違いを知っておこう

「ファイルの詳細を確認する」といえばls -lを思い浮かべる人も多いかもしれません。たしかにlsコマンドも便利ですが、以下のような違いがあります。

  • lsは一覧表示が得意。内容は固定。
  • statは詳細で正確な情報が見られる。-cでフォーマット自由自在。

つまり、「一覧でざっくり確認」はls、「正確に必要な情報をピンポイントで取得」はstatが得意ということです。

7. スクリプトで使うときにも便利

7. スクリプトで使うときにも便利
7. スクリプトで使うときにも便利

シェルスクリプトなどでファイルのサイズを取得して条件分岐するような処理を書くとき、stat -cは非常に有用です。たとえば次のようなスクリプトが考えられます。


size=$(stat -c "%s" test.txt)
if [ "$size" -gt 1000 ]; then
  echo "ファイルサイズが1000バイトを超えています"
fi

stat -cで得られた情報は変数として扱えるため、処理の自動化にもぴったりです。

8. 書式に関する注意点

8. 書式に関する注意点
8. 書式に関する注意点

フォーマット内にスペースや記号を含めたい場合は、必ず全体をダブルクオーテーション")で囲みましょう。また、複数のファイルを対象にするときはワイルドカード(*.txt)を使うと便利です。

なお、%の後に無効な文字を使うとエラーになりますので注意してください。

関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -cオプションの使い方を完全ガイド!Linuxで一致した行数をカウントする方法
New2
ファイル・ディレクトリ操作
stat -cオプションの使い方を徹底解説!Linuxで出力フォーマットを自由に指定しよう
New3
ファイル・ディレクトリ操作
basenameのSUFFIX指定で拡張子を除いてファイル名を取得する方法を解説!初心者向けLinuxコマンド講座
New4
テキスト・データ処理
tail -fオプションの使い方を解説!Linuxでログをリアルタイム監視する基本
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門