stat - ファイルまたはファイルシステムの情報を確認

スポンサーリンク

statコマンドは、ファイルの情報やファイルシステムの情報を確認することができます。

lsコマンドよりも詳しいファイル情報を確認したい場合などに利用します。

statコマンドとは

statコマンドは、指定したファイルの情報や指定したファイルが存在するファイルシステムの情報の確認を行うことができます。

シェルによっては、組み込みコマンドのstatコマンドが存在する場合があるので、注意が必要です。

statコマンドの構文

ファイルの情報を確認

ファイルシステムの情報を確認

statコマンドの利用例

ファイル情報の確認
(オプションなし)

statコマンドは、ファイル情報を確認することができます。

コマンド例

file.txt

実行結果

ファイル情報のまとめ表

ラベル意味
Fileファイル名
Sizeファイルサイズ
Blocksディスク内で使用されるサイズ
IO Block入出力のブロックサイズ
通常のファイルファイルの種類、他にもシンボリックリンク等有り
Deviceデバイス番号、hは16進数、dは10進数
Inodeinode番号
Linksinode番号に対して貼られているリンク数、ハードリンク等に関係
Access(権限)アクセス権限
UidユーザID(ユーザ番号、ユーザ名)
GidグループID(グループ番号、グループ名)
Acess(時間)atime、アクセス時間
Modifymtime、修正した時間
Changectime、ステータス変更時間
Birthファイル生成の時間、わからない場合は「-」になる

シンボリックリンク先の情報を確認
(-Lオプション)

-Lオプションは、statコマンドの引数にシンボリックリンクファイルを指定した場合、シンボリックリンク先の情報を表示します。

コマンド例

実行結果

-Lオプションを使用しない場合、シンボリックリンクファイルの情報を表示します。

コマンド例

実行結果

ファイルシステムの情報を確認
(-fオプション)

-fオプションは、statコマンドの引数に指定したファイルが存在する、ファイルシステムの情報を表示します。

コマンド例

実行結果

ファイルシステム情報のまとめ表

ラベル意味
Fileファイル名
ID16進数のファイルシステムID
Namelenファイル名の最大長
Typeファイルシステムの種類
Block size転送のためのブロックサイズ
Fundamental block sizeブロック数を数えるためのブロックサイズ
Blocks:ファイルシステムでの合計容量、空き容量、利用可能容量
Inodes:ファイルシステムでの合計inode数、空きinode数

表示するファイル情報を記述し表示
(-cオプション)

-cオプション、または--formatオプションは、表示するファイル情報をフォーマット形式で記述して表示することができます。
そして、表示する情報の最後には、自動的に改行が入ります。

コマンド例では、ファイル名、ファイルサイズ、IO転送のための最適ブロックサイズのヒントを表示しています。

コマンド例

実行結果

フォーマットのまとめ表

フォーマット意味
%aアクセス権限(8進数表示)
%Aアクセス権限
%bブロック数(%Bを参考)
%Bブロックサイズ(%bの単位)
%CSELinuxのコンテキスト(利用可能ならば)
%dデバイス番号(10進数)
%Dデバイス番号(16進数)
%fmode (16進数)
%Fファイルタイプ
%gグループID
%Gグループ名
%hハードリンク数
%iinode番号
%mマウントポイント
%nファイル名
%Nファイル名、シンボリックリンクファイルならリンク先も表示
%oI/O転送のための最適ブロックサイズのヒント
%sファイルサイズ(バイト)
%tメジャーデバイス番号(16進数)
%Tマイナーデバイス番号(16進数)
%uユーザID
%Uユーザ名
%wファイル生成の時間、不明の場合は「-」
%WEpoch timeでのファイル生成時間、不明の場合は0
%xatime、アクセス時間
%XEpoch timeでのatime、アクセス時間
%y修正した時間
%YEpoch timeでのmtime、修正した時間
%zctime、ステータス変更時間
%ZEpoch timeでのctime、ステータス変更時間

フォーマット表のまとめ(ファイルシステム) : -fオプションが必要

フォーマット意味
%a利用できるブロック数 (non super user)
%bファイルシステムでの合計ブロック数
%cファイルシステムでの合計inode数
%dファイルシステムでの空きinode数
%fファイルシステムでの空きブロック数
%iファイルシステムのID (16進数)
%lファイル名の最大長
%nファイル名
%s転送のためのブロックサイズ
%Sブロック数を数えるためのブロックサイズ
%tファイルシステムの種類 (16進数)
%Tファイルシステムの種類

他のプログラムの解析に適した簡潔な形式で表示
(-tオプション)

-tオプションは、statコマンドの表示を簡潔な形式で表示します。

コマンド例

実行結果

それぞれの列の意味(ファイル)

n列目意味
1ファイル名
2ファイルサイズ(バイト)
3ブロック数(%Bのブロックサイズを参考)
4mode (16進数)
5ユーザID
6グループID
7デバイス番号(16進数)
8inode番号
9ハードリンク数
10メジャーデバイス番号(16進数)
11マイナーデバイス番号(16進数)
12Epoch timeでのatime、アクセス時間
13Epoch timeでのmtime、修正した時間
14Epoch timeでのctime、ステータス変更時間
15Epoch timeでのファイル生成時間、不明の場合は0
16I/O転送のための最適ブロックサイズのヒント

-tオプションは、-cオプションで書き換えることもできます。

ファイルシステムの場合も-tオプションを用いて簡潔な形式で表示できます。

コマンド例

実行結果

n列目意味
1ファイル名
2ファイルシステムのID (16進数)
3ファイル名の最大長
4ファイルシステムの種類 (16進数)
5転送のためのブロックサイズ
6ブロック数を数えるためのブロックサイズ
7ファイルシステムでの合計ブロック数
8ファイルシステムでの空きブロック数
9利用できるブロック数 (non super user)
10ファイルシステムでの合計inode数
11ファイルシステムでの空きinode数

ファイルシステムの場合も同様に、-cオプションで書き換えることができます。

参考

Gnu Coreutils

Gnu Coreutils日本語版