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

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コマンドは、ファイル・ディレクトリの詳細なメタデータやシステム情報を確認するための強力なツールです。日々のシステム運用・管理やトラブルシューティング、自動化スクリプトに幅広くご活用ください。