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

stat --formatオプションの使い方を完全ガイド!初心者でもわかるファイル情報のカスタム表示

stat --formatオプション|-cと同じく出力フォーマットを設定する方法
stat --formatオプション|-cと同じく出力フォーマットを設定する方法

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

生徒

「statコマンドって、ファイルの情報がたくさん表示されて見にくいです…。必要な情報だけ表示する方法はありますか?」

先生

「それなら、--formatオプションを使えば、自分で表示形式をカスタマイズできますよ。」

生徒

「えっ、そんなことができるんですか!?どんな風に使うんですか?」

先生

「それでは、--formatオプションの使い方を一緒に学んでいきましょう!」

1. statコマンドと--formatオプションとは?

1. statコマンドと--formatオプションとは?
1. statコマンドと--formatオプションとは?

stat(スタット)コマンドは、Linuxでファイルやディレクトリの詳細な情報を表示するコマンドです。ファイルサイズ、更新日時、アクセス権、オーナー、グループなどが一覧で表示されます。

ただし、表示される情報が多いため、初心者にはどこを見ればよいか分かりづらいことがあります。そんなときに便利なのが--formatオプションです。

--formatは、表示したい情報だけを選んで表示できるオプションで、同じ意味を持つ-cの別表記になります。つまりstat -cstat --formatは同じ動作をします。

2. --formatオプションの基本的な使い方

2. --formatオプションの基本的な使い方
2. --formatオプションの基本的な使い方

たとえば、「ファイル名」と「サイズ」だけを表示したいときは、次のように書きます。


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

%nはファイル名、%sはファイルサイズ(バイト)を表す書式指定子(しょしきしていし)です。

3. よく使う書式指定子の一覧

3. よく使う書式指定子の一覧
3. よく使う書式指定子の一覧

以下のような書式指定子を組み合わせて、自分の欲しい情報だけを表示できます。

  • %n:ファイル名
  • %s:ファイルサイズ(バイト)
  • %F:ファイルの種類(通常ファイル、ディレクトリなど)
  • %A:アクセス権(記号形式)
  • %a:アクセス権(数値形式)
  • %U:所有者(ユーザー名)
  • %G:所有グループ
  • %y:最終更新日時

たとえば次のように書けば、ファイル名・所有者・更新日時を一行で表示できます。


stat --format="%n %U %y" test.txt
test.txt user1 2025-09-16 13:10:22.000000000 +0900

4. 日本語を混ぜて見やすくする

4. 日本語を混ぜて見やすくする
4. 日本語を混ぜて見やすくする

書式の中に日本語や改行を入れると、さらに分かりやすくなります。たとえば、次のように書くと見やすくなります。


stat --format="ファイル名: %n\nサイズ: %s バイト\n種類: %F" test.txt
ファイル名: test.txt
サイズ: 1024 バイト
種類: regular file

\nは「改行」を意味します。改行を入れることで、縦に整った見やすい形式になります。

5. 複数ファイルへの応用もできる

5. 複数ファイルへの応用もできる
5. 複数ファイルへの応用もできる

--formatオプションは、複数ファイルに対しても使えます。たとえば、拡張子.logのファイルサイズ一覧を表示したい場合は以下のようにします。


stat --format="%n,%s" *.log
app.log,2560
error.log,4096

カンマ区切り(CSV形式)で出力すれば、表計算ソフトにもコピーしやすくなります。

6. --formatと-cの違いは?

6. --formatと-cの違いは?
6. --formatと-cの違いは?

--format-cは、どちらも同じ機能を持っています。違いは表記の仕方だけです。

  • -c:短い書き方(ショートオプション)
  • --format:長い書き方(ロングオプション)

どちらを使っても同じ結果になりますが、初心者には意味が分かりやすい--formatの方がおすすめです。

7. スクリプトや自動処理にも活用できる

7. スクリプトや自動処理にも活用できる
7. スクリプトや自動処理にも活用できる

--formatオプションで出力を制御すれば、シェルスクリプトでの処理も効率よくできます。たとえば、ファイルサイズが1000バイト以上かを調べるスクリプトはこう書けます。


size=$(stat --format="%s" test.txt)
if [ "$size" -ge 1000 ]; then
  echo "ファイルサイズが1000バイト以上です"
fi

このように、数値だけを抽出して使えるのも--formatの大きなメリットです。

8. format指定の注意点

8. format指定の注意点
8. format指定の注意点

書式文字列を指定する際は、ダブルクオーテーション(")で囲むことを忘れないようにしましょう。特に\nなどの特殊文字を含む場合、クオートしないと意図しない動作になることがあります。

また、誤った書式指定子(存在しない%記号)を使うとエラーになるため、必ず正しいものを使いましょう。

まとめ

まとめ
まとめ

statコマンドのformatオプションは、Linuxでファイル情報を柔軟に取得したい場面において非常に重要な機能です。通常のstatコマンドはファイルサイズや更新日時、アクセス権限、所有者情報などを一括で表示しますが、情報量が多くなるため、必要な項目だけを確認したい場合にはやや扱いづらいという側面があります。そのような課題を解決するのがformatオプションです。

formatオプションを活用することで、ファイル名やサイズ、所有者、更新日時などを自由に組み合わせて表示することができ、必要な情報だけを抽出して見やすく整理することが可能になります。特にLinux初心者にとっては、必要な情報を絞り込むことで理解しやすくなるという大きなメリットがあります。また、システム管理者や開発者にとっては、ログ解析やファイル監視、バッチ処理などにおいて効率的なデータ取得を実現できる点が魅力です。

書式指定子の使い方を覚えることが重要であり、ファイル名を表すnやサイズを表すs、アクセス権を表すA、所有者を表すUなどを組み合わせることで、用途に応じたカスタム表示が可能になります。さらに改行コードを使うことで縦方向に整形された見やすい出力を作ることもでき、コマンドライン上での可読性が大きく向上します。

また、formatオプションはシェルスクリプトとの相性も非常に良く、特定の値だけを抽出して条件分岐に利用することができます。例えばファイルサイズを取得して一定の条件を満たしているかを判定する処理や、複数ファイルの情報を一覧としてCSV形式で出力する処理など、実務に直結する使い方が可能です。これにより、Linuxコマンドを単なる操作ツールとしてだけでなく、自動化や効率化のための強力な武器として活用できるようになります。

さらに、短縮形のcオプションとformatオプションは同じ機能を持っているため、用途や好みに応じて使い分けることができます。初心者の場合は意味が分かりやすいformatオプションを使うことで理解が深まりやすくなります。一方で、コマンドを短く書きたい場合にはcオプションを使うことで効率的に記述できます。

Linuxコマンドの中でもstatのformatオプションは、ファイル情報取得という基本操作をより高度に扱うための重要なスキルです。ファイル管理やサーバ運用、ログ解析、システム開発などさまざまな場面で役立つため、しっかりと理解しておくことで作業効率を大きく向上させることができます。

サンプルプログラムで理解を深める

実際の活用例として、ファイル情報を取得し条件分岐を行う簡単なシェルスクリプトを確認してみましょう。


stat --format="%n %s %U" test.txt
test.txt 1024 user1

size=$(stat --format="%s" test.txt)
if [ "$size" -ge 1000 ]; then
  echo "ファイルサイズが1000バイト以上です"
fi
ファイルサイズが1000バイト以上です

このように、必要な情報だけを取得して条件に応じた処理を行うことで、Linux環境での自動化処理を効率よく実装することができます。特に運用現場ではログファイルやバックアップファイルの監視などに応用できるため、非常に実用性の高いテクニックです。

先生と生徒の振り返り会話

生徒

statコマンドって情報が多くて難しいと思っていましたが、formatオプションを使えば必要な情報だけ表示できるんですね。

先生

その通りです。ファイル名やサイズ、所有者などを自由に組み合わせて表示できるので、とても便利ですよ。

生徒

改行を使って見やすくすることもできるのは驚きました。コマンドの結果がすごく整理されますね。

先生

可読性が上がると作業効率も上がります。特に複数ファイルを扱うときには効果が大きいです。

生徒

シェルスクリプトと組み合わせると自動化にも使えるのが実用的ですね。

先生

はい。ファイルサイズのチェックやログ監視など、現場でよく使われる処理に応用できます。formatオプションを使いこなせるようになると、Linux操作の幅が一気に広がりますよ。

生徒

これからはstatコマンドを使うときに、自分に必要な情報だけ取り出すように意識してみます。

関連記事:
カテゴリの一覧へ
新着記事
New1
権限とユーザー管理
Linuxのユーザーとグループの仕組みを初心者向けに解説!Linux権限管理の基本をやさしく理解
New2
ファイル・ディレクトリ操作
find -atimeオプションの使い方を完全ガイド!アクセス日でファイルを検索する方法
New3
ファイル・ディレクトリ操作
Linuxのls -hオプションを完全ガイド!初心者でもわかるファイルサイズの見やすい表示方法
New4
テキスト・データ処理
uniqコマンドとは?初心者でもわかるLinuxで重複行を処理する基本
人気記事
No.1
Java&Spring記事人気No1
Linuxコマンドの基本
Linuxコマンドとは?基本の考え方とシェルとの関係を初心者向けに徹底解説
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!