はじめに
こんにちは!今回はstatコマンドについて学んでいきましょう。
statは、ファイルやディレクトリの詳細な情報を表示するコマンドです。タイムスタンプ、inode番号、パーミッション、ファイルサイズなど、ファイルについて知りたいことがほぼ全部わかります。ls -lよりも詳しい情報が欲しい時に便利!
statコマンドとは
statコマンドは、指定したファイルやディレクトリの詳細な情報を表示する外部コマンドです。ファイルシステムに保存されたメタデータを表示し、アクセス時刻、変更時刻、チェンジ時刻などを見ることができます。
ファイルのinode情報を詳しく調べたい時や、タイムスタンプを正確に確認したい時に重宝します。
基本構文
|
|
複数のファイルを同時に指定することもできます。
主なオプション
| オプション | 説明 |
|---|---|
-L |
シンボリックリンク先の情報を表示 |
-f |
ファイルシステムの情報を表示 |
-c |
指定したフォーマットで表示 |
-t |
タルト(terse)形式で表示 |
使用例
例1: 基本的な使い方(ファイルの詳細情報)
|
|
実行結果:
|
|
ファイルの詳細情報が表示されます。
例2: ディレクトリの情報
|
|
実行結果:
|
|
ディレクトリの情報が表示されます。
例3: 複数ファイルの情報
|
|
実行結果:
|
|
複数ファイルの情報が順に表示されます。
例4: シンボリックリンク先の情報(-Lオプション)
|
|
実行結果:
|
|
シンボリックリンク先のファイル情報が表示されます。
例5: ファイルシステムの情報(-fオプション)
|
|
実行結果:
|
|
ファイルシステムの詳細情報が表示されます。
例6: タルス形式で表示(-tオプション)
|
|
実行結果:
|
|
1行のコンパクト形式で表示されます。
例7: カスタムフォーマットで表示(-cオプション)
|
|
実行結果:
|
|
指定したフォーマット(ファイル名・サイズ・パーミッション)で表示されます。
例8: inode番号だけを表示
|
|
実行結果:
|
|
inode番号だけが表示されます。
Tips・注意点
タイムスタンプの3種類
statコマンドで表示されるタイムスタンプには3種類あります:
- Access (atime): ファイルが最後に読み込まれた時刻
- Modify (mtime): ファイルの内容が最後に変更された時刻
- Change (ctime): ファイルのメタデータが最後に変更された時刻
inode番号の確認
|
|
ハードリンク調査やファイルシステム管理で inode 番号を確認する場合に便利。
パーミッションの読み方
表示される0644や0755は8進数表記です:
0644:-rw-r--r--(通常ファイル)0755:drwxr-xr-x(ディレクトリ)
フォーマット指定子
-cオプションで使える主な指定子:
%n: ファイル名%s: ファイルサイズ(バイト)%b: 割り当てたブロック数%a: アクセス権(8進数)%u: ユーザーID%g: グループID%i: inode番号%A: アクセス権(文字列形式)%x: atime%y: mtime%z: ctime
実践的な使い方
ファイルの正確な更新時刻を確認
|
|
ナノ秒単位で正確なタイムスタンプが表示されます。
最後にアクセスされた時刻を確認
|
|
ファイルが最後に読み込まれた時刻を確認できます。
ハードリンク数を確認
|
|
ハードリンク数が表示されます。1なら他にハードリンクはありません。
ファイルシステムの容量を確認
|
|
ファイルシステムの空き容量と使用量が確認できます。
複数ファイルのサイズをまとめて表示
|
|
複数ファイルのサイズが見やすく表示されます。
まとめ
statコマンドのポイント:
- ファイルの詳細情報を表示する外部コマンド
- inode情報、パーミッション、タイムスタンプなどが確認できる
- タイムスタンプは3種類(Access、Modify、Change)
-fオプションでファイルシステム情報も表示-cオプションで指定したフォーマットで表示可能- ナノ秒単位で正確な時刻情報が得られる
statコマンドは、ファイルのメタデータを深く知りたい時に最強のツール。ls -lだけではわからないことがいっぱい見えてきます!