blog

技術|Linuxでstatコマンドを使ってファイルの状態を見る

Linux のコマンド一つで、ファイルやファイルシステムに関する全ての情報を得ることができます。...

Oct 19, 2025 · 4 min. read
シェア

Linuxのコマンド1つで、ファイルやファイルシステムに関するすべての情報を取得できます。

GNUのcoreutilsパッケージに含まれるstatコマンドは、ファイル・サイズ、ノードの位置、アクセス許可、SELinuxコンテキスト、作成・変更時間など、ファイルやファイルシステムに関するさまざまなメタデータを提供します。多くの場合、複数の異なるコマンドで得られる情報が必要ですが、このコマンド1つでそれが可能です。

Linuxへのstatコマンドのインストール

Linuxシステムでは、statコマンドはコア機能パッケージの一部であり、通常はLinuxディストリビューションにデフォルトで含まれているため、すでにプリインストールされている場合があります。

stat コマンドがシステムにインストールされていない場合は、パッケージ・マネージャを使用して coreutils パッケージをインストールできます。

あるいは、 coreutilsパッケージをソースからコンパイルしてインストールすることもできます。

ファイルの状態取得

statコマンドを実行すると、指定したファイルやディレクトリに関するステータス情報を簡単に読み取ることができます。

  1. $ stat planets.xml
  2. File: planets.xml
  3. Size: 325 Blocks: 8 IO Block: 4096 regular file
  4. Device: fd03h/64771d Inode: Links: 1
  5. Access: (0664/-rw-rw-r--) Uid: (1000/tux) Gid: (100/users)
  6. Context: unconfined_u:object_r:user_home_t:s0
  7. Access: . +0210
  8. Modify: . +0210
  9. Change: . +0210
  10. Birth: . +0210

出力はわかりやすいですが、多くの情報が含まれています:

  • $ stat planets.xml
  • File: planets.xmlファイルサイズ(バイト
  • Size: 325 Blocks: 8 IO Block: 4096 regular fileハードドライブ上のファイル用に予約されたデータブロック数
  • Device: fd03h/64771d Inode: Links: 1システムのブロックサイズ
  • Access: (0664/-rw-rw-r--) Uid: (1000/tux) Gid: (100/users)種類
  • Context: unconfined_u:object_r:user_home_t:s0: ファイルがあるデバイス
  • Access: . +0210: ファイルがあるInode番号
  • Modify: . +0210ドキュメントへのリンク数
  • Change: . +0210UID、GID:ファイルのパーミッション、ユーザーとグループの所有者
  • Birth: . +0210
  • アクセス、修正、変更、誕生:ファイルへのアクセス、修正、変更ステータス、作成時のタイムスタンプ

合理化された出力

出力に習熟している人や、他のツールを使って出力を解析したい人は、ここで--terseパラメーターを使うと、ヘッダーや改行のない書式付き出力が得られます。

  1. $ stat --terse planets.xml
  2. planets.xml fd 1 0 0 4096 unconfined_u:object_r:user_home_t:s0

カスタムフォーマット

printfパラメータと printf 似た構文を使用して、独自の出力形式を定義できます。statの各属性には一連の形式があるので、出力形式を定義できます。

  1. $ stat --printf="%n %C " planets.xml
  2. planets.xml
  3. unconfined_u:object_r:user_home_t:s0
  4. $ $ stat --printf="Name: %n Modified: %y " planets.xml
  5. Name: planets.xml
  6. Modified: . +0210

以下は一般的なフォーマットシーケンスです:

  • アクセス
  • %a 種類
  • 文書%F
  • regular fileファイルの種類
  • ユーザーID
  • InodeファイルがあるInode番号
  • Linksファイルへのリンク数
  • 修正時間

フォーマットされた配列の完全なリストは、スタットマニュアルと Access 情報ページにあります。

ドキュメント情報

ls -lの出力を解析しようとしたことがあれば、statコマンドの柔軟性を理解できるでしょう。statが提供するすべての情報を常に必要とするわけではありませんが、その一部またはすべてが必要な場合には非常に便利です。デフォルトの出力を読んでいる場合でも、自分で作成したクエリの出力を読んでいる場合でも、statコマンドは必要なデータを調べることができます。

via:

Read next

クラウドサービス・アーキテクチャ完全ガイド

約16年の進化を経て、クラウドコンピューティングはほとんどすべてのインターネットユーザーに利用される技術になりました。あらゆるタイプの企業や消費者のニーズを満たすサービスとして利用することができます。その結果、クラウド・コンピューティングでは、最新の要件に応じて必要な技術をカスタマイズすることを目的として、さまざまなサービス・アーキテクチャが使用されています。この記事では、現在使用されているすべてのサービス・アーキテクチャに関する完全なガイドを提供します。

Oct 19, 2025 · 9 min read