Linux初心者のための5 'stat'コマンド例


statコマンドは、ファイルまたはファイルシステムのステータスを表示するための便利なユーティリティです。ファイルの種類などの情報を取得します。 8進数および人間が読める形式のアクセス権SELinuxセキュリティコンテキスト文字列。ファイルの生年月日、最後のアクセス、最後のデータ変更、最後のステータスの変更、および人間が読める形式の両方で、エポック以降の秒数など

情報を表示するために、デフォルトの代わりにカスタムフォーマットを指定するオプションがあります。このガイドでは、Linux初心者のための5つのstatコマンドの例を見ていきます。

Linuxファイルのステータスを確認する

1. 統計を使用する最も簡単な方法は、引数としてファイルを指定することです。次のコマンドは、スクリーンショットに示すように、サイズ、ブロック、IOブロック、ファイルタイプ、iノード値、リンク数、および/ var/log/syslogファイルに関する詳細情報を表示します。

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

ファイルシステムの状態を確認する

2。

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

図のように、ディレクトリ/ファイルシステムを引数として指定することもできます。

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

シンボリックリンクの追跡を有効にする

3. Linuxはリンクをサポートしているため(シンボリックおよびハードリンク)、特定のファイルに1つ以上のリンクが含まれているか、またはファイル内に存在することさえあります。ファイルシステム。

statがリンクをたどることを可能にするためには、示されるように -L フラグを使います。

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

カスタムフォーマットを使用して情報を表示する

4. 統計では、デフォルトの代わりに特定のフォーマットまたはカスタムフォーマットを使用することもできます。 -c フラグは、使用されるフォーマットを指定するために使用され、フォーマットシーケンスを使用するたびに改行を表示します。

別の方法として、バックスラッシュの解釈を可能にする --printf オプションを使用すると、シーケンスをエスケープし、末尾の改行の印刷をオフにすることができます。たとえば、新しい行を印刷するには、 \ n を使用する必要があります。

# stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

上記の例で使用されているファイルのフォーマット順序の意味

  • %U – user name of owner
  • %G – group name of owner
  • %C – SELinux security context string
  • %z – time of last status change, human-readable

5. ファイルシステムで認められているフォーマットシーケンスの使用例を示します。

$ stat --printf='%n\n%a\n%b\n' /

上記のコマンドで使用されるフォーマットシーケンスの意味。

  • %n – shows the file name
  • %a – print free blocks available to non-superuser
  • %b – outputs total data blocks in file system

簡潔な形式で情報を印刷する

6. -t オプションを使用すると、簡潔な形式で情報を印刷できます。

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

最後の注意として、あなたのシェルはそれ自身のバージョンのstatを持っているかもしれません。それがサポートするオプションについての詳細はあなたのシェルのドキュメントを参照してください。受け入れられているすべての出力フォーマットシーケンスを見るには、statのmanページを参照してください。

$ man stat 

この記事では、Linux初心者のための5つのstatコマンドの例を説明しました。質問がある場合は、以下のフィードバックフォームを使用してください。