GNU Core Utilities/stat
stat
コマンドは、ファイルまたはディレクトリの詳細な状態情報を表示するためのコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。
基本的な使い方
編集stat [オプション] ファイルまたはディレクトリ
主なオプション(GNU coreutils版)
編集主なオプション オプション 説明 -c, --format=FORMAT
出力形式を指定 -f, --file-system
ファイルシステムの情報を表示 -t, --terse
簡潔な形式で出力 -L, --dereference
シンボリックリンクを解決して表示 -x, --no-xattr
拡張属性を表示しない -z, --zero
出力を nul 文字で区切る
例
編集ファイルまたはディレクトリの状態を表示
編集stat file.txt
file.txt
の詳細な状態情報(サイズ、アクセス時間、変更時間、ファイルタイプなど)を表示。
ファイルシステム情報を表示
編集stat -f file.txt
file.txt
が格納されているファイルシステムの状態を表示。
簡潔な形式で表示
編集stat -t file.txt
簡潔な形式で file.txt
の状態を表示。
シンボリックリンクを解決して表示
編集stat -L symlink.txt
シンボリックリンクである symlink.txt
を解決し、その先のファイルの状態を表示。
特定の形式で表示
編集stat -c %s file.txt
file.txt
のファイルサイズのみを表示。
FreeBSD 版との違い
編集FreeBSD でも stat
コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。
主な違い:
編集-c
(カスタムフォーマット)オプションがない- FreeBSD の
stat
では、出力形式をカスタマイズするための-c
オプションは使用できません。 - フォーマット指定には別の方法を使用する必要があります。
- FreeBSD の
-f
(ファイルシステム情報)オプションの動作が異なる- FreeBSD では
stat -f
でファイルシステムの情報を表示できますが、その詳細はGNU版とは異なります。
- FreeBSD では
- GNU coreutils 版を FreeBSD で使う方法
coreutils
パッケージをインストールするとgstat
という名前で GNU 版のstat
が使える。
pkg install coreutils gstat -c %s file.txt # GNU版の stat を使用
詳しくは、それぞれの環境で man stat
を確認してください。