stat:ファイルの詳細情報を表示するコマンド

目次
statコマンドについての概要と詳細な説明
statコマンドとは
stat
コマンドは、ファイルやディレクトリの詳細な状態情報(ステータス)を表示するLinux/UNIX系OS標準のユーティリティです。パーミッションや所有者、サイズ、タイムスタンプ(最終アクセス・変更・更新時刻)、iノード番号、ハードリンク数、ブロックサイズ、デバイス番号など、lsコマンドでは得られない細かい内部情報まで取得できます。ファイルシステムのトラブルシューティングやバックアップ、システム管理において必須のツールです。
主な用途
- ファイルやディレクトリの詳細な属性・メタデータの取得
- パーミッション、所有者、グループ、リンク数の確認
- 最終アクセス、最終変更、最終更新時刻などのタイムスタンプ確認
- ファイルシステムの内部情報(iノード、デバイス番号など)の調査
- バックアップや監査、システム運用のスクリプト組み込み
主な特徴
- 詳細なメタデータ表示:ファイルやディレクトリのあらゆる属性・情報を一覧で表示
- フォーマット指定機能:必要な項目だけを指定形式で抽出・出力可能(
-c
や--format
オプション) - シンボリックリンク対応:リンク自身の情報・リンク先の情報も両方表示可能
- スクリプト連携に便利:個別属性の出力やカスタム書式指定で自動化に最適
基本的な使い方
stat [オプション] ファイル名
stat file.txt
:file.txtの詳細情報を標準形式で表示stat -c "%s %n" file.txt
:サイズとファイル名のみを表示(書式指定)stat -L link.txt
:シンボリックリンク先の情報を表示stat dir/
:ディレクトリの属性情報を表示
主なオプション一覧
オプション | 説明 |
---|---|
-c, --format [書式] | 出力書式を指定(%s:サイズ, %n:ファイル名, %U:所有者, %G:グループ, %a:パーミッション など多数) |
-L | シンボリックリンクのリンク先を表示 |
-f | ファイル自体の情報ではなく、ファイルシステム情報を表示 |
--printf [書式] | C言語のprintfライクな柔軟な書式指定 |
-t | 簡易テーブル形式で出力 |
--help | ヘルプを表示 |
インストール方法
RPM系(RedHat, CentOS, Fedoraなど)
$ sudo dnf install coreutils
Debian系(Debian, Ubuntuなど)
$ sudo apt install coreutils
statの活用ポイント
- ファイルやディレクトリの属性調査・管理の自動化(スクリプト利用)
- セキュリティ監査・アクセス権限管理・バックアップ条件分岐
- タイムスタンプを使った差分バックアップや更新監視にも便利
まとめ
statコマンドは、ファイル・ディレクトリの詳細なメタデータやシステム情報を確認するための強力なツールです。日々のシステム運用・管理やトラブルシューティング、自動化スクリプトに幅広くご活用ください。