GNU/Linux >> Linux の 問題 >  >> Linux

statコマンドを使用してLinuxのファイルステータスを確認します

stat GNU coreutilsに含まれるコマンド パッケージは、ファイルサイズ、iノードの場所、アクセス許可とSELinuxコンテキスト、ファイルとファイルシステムに関する作成時間と変更時間など、さまざまなメタデータを提供します。これは、通常、取得するためにいくつかの異なるコマンドが必要な情報を収集するための便利な方法です。

Linuxへの統計のインストール

Linuxでは、おそらくすでにstatがあります コマンドは、通常、デフォルトでLinuxディストリビューションにバンドルされているコアユーティリティパッケージの一部であるため、インストールされています。

statがない場合 インストールすると、coreutilsをインストールできます パッケージマネージャーと一緒に。

または、ソースコードからcoreutilsをコンパイルすることもできます。

ファイルのステータスを取得する

statを実行しています 特定のファイルまたはディレクトリに関する読みやすい出力を提供します。

$ stat planets.xml 
  File: planets.xml
  Size: 325      Blocks: 8     IO Block: 4096   regular file
Device: fd03h/64771d    Inode: 140217      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (1000/tux)   Gid: (100/users)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2021-08-17 18:26:57.281330711 +1200
Modify: 2021-08-17 18:26:58.738332799 +1200
Change: 2021-08-17 18:26:58.738332799 +1200
 Birth: 2021-08-17 18:26:57.281330711 +1200

読みやすいかもしれませんが、それでも多くの情報があります。 statは次のとおりです カバーしています:

  • ファイル :ファイル名
  • サイズ :ファイルサイズ(バイト単位)
  • ブロック :このファイル用に予約されているハードドライブ上のブロック数
  • IOブロック :ファイルシステムのブロックのサイズ
  • 通常のファイル :ファイルの種類(通常のファイル、ディレクトリ、ファイルシステム)
  • デバイス :ファイルが配置されているデバイス
  • iノード :ファイルが配置されているiノード番号
  • リンク :ファイルへのリンクの数
  • アクセス、UID、GID :ファイルのアクセス許可、ユーザー、およびグループの所有者
  • コンテキスト :SELinuxコンテキスト
  • アクセス、変更、変更、誕生 :ファイルがアクセス、変更、ステータスの変更、および作成されたときのタイムスタンプ

Terse出力

出力をよく知っている人、またはawkなどの他のユーティリティを使用して出力を解析したい人のために、--terseがあります。 (-t 略して)オプション。見出しや改行なしで出力をフォーマットします。

$ stat --terse planets.xml 
planets.xml 325 8 81b4 100977 100 fd03 140217 1 0 0 1629181617 1629181618 1629181618 1629181617 4096 unconfined_u:object_r:user_home_t:s0

独自のフォーマットを選択する

--printfを使用して、出力用に独自の形式を定義できます。 オプションとprintfに似た構文。 statによって報告された各属性 フォーマットシーケンス(%C SELinuxコンテキストの場合、%n ファイル名など)、レポートに表示する内容を選択できます。

$ stat --printf="%n\n%C\n" planets.xml 
planets.xml
unconfined_u:object_r:user_home_t:s0
$ $ stat --printf="Name: %n\nModified: %y\n" planets.xml
Name: planets.xml
Modified: 2021-08-17 18:26:58.738332799 +1200

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

一般的なフォーマットシーケンスは次のとおりです。

  • %a アクセス権
  • %F ファイルタイプ
  • %n ファイル名
  • %U ユーザー名
  • %u ユーザーID
  • %g グループID
  • %w 生年月日
  • %y 変更時間

フォーマットシーケンスの完全なリストは、statにあります。 マニュアルページとcoreutils 情報ページ。

ファイル情報

ls -lの出力を解析しようとしたことがある場合 、その後、statの柔軟性に感謝します 指図。 statのデフォルト情報のすべてのビットが常に必要なわけではありません を提供しますが、コマンドの一部またはすべてが必要な場合、このコマンドは非常に貴重です。出力をデフォルトの形式で読み取る場合でも、独自のクエリを作成する場合でも、stat コマンドを使用すると、データに関するデータに簡単にアクセスできます。


Linux
  1. jpsコマンドを使用してLinux上のJavaプロセスを確認します

  2. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  3. lsでLinuxファイルのパーミッションを確認する

  1. Linuxtacコマンドの使用を開始する

  2. xclipを使用してLinuxコマンドラインでコピーして貼り付けます

  3. Linuxでのファイルコマンドの基本的な例

  1. Aspellを使用してLinuxコマンドラインでスペルをチェックする方法

  2. Linuxでの8つのStatコマンドの例

  3. Linuxでの並べ替えコマンドと例