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 を確認してください。