Linuxのstatコマンドの使用概要
lsコマンドは、各Unixユーザが最初に学習したコマンドの1つである可能性がありますが、statコマンドが与えることができる情報のほんの一部を示しています。
statコマンドは、ファイルのインデックスノードから情報を取得します。ご存じのように、各システムのファイルには、最近の変更時間(ls-lコマンドを使用するときに表示される日付と時間)、最近のステータス変更時間(ファイルの名前変更を含む)、最近のアクセス時間の3つのグループの日付と時間が格納されています。
長いリスト・モードを使用してファイル情報を表示すると、次のような内容が表示されます。
コードのコピー-rwx------ 1 shs unixdweebs 109 Nov 11 2013 trythis
statコマンドを使用すると、次のようになります。$ stat trythis
File: `trythis'
Size: 109 Blocks: 8 IO Block: 262144 regular file
Device: 18h/24d Inode: 12731691 Links: 1Access: 2014-09-09 19:27:58.000000000 -0400
Modify: 2013-11-11 08:40:10.000000000 -0500
Change: 2013-11-11 08:40:10.000000000 -0500ファイルの名前を変更すると、ステータスが変化する時間が表示されます。
ここのctime情報は、ファイルの作成日時を格納するために最初に設計されたが、いつステータス変更(change)時刻を格納するために使用されるか分からない。
コードのコピー$ stat trythat
File: `trythat'
Size: 109 Blocks: 8 IO Block: 262144 regular fileAccess: (0700/-rwx------) Uid: ( 263/ shs) Gid: ( 100/ unixdweebs)
Access: 2014-09-09 19:27:58.000000000 -0400Change: 2014-09-21 12:46:22.000000000 -0400
ファイルの権限を変更するとctimeドメインも変更されます。
ワイルドカードと組み合わせてstatコマンドを使用して、ファイルのステータスのセットをリストすることもできます。$ stat myfile*
File: `myfile'Device: 18h/24d Inode: 12731803 Links: 1
Access: (0640/-rw-r-----) Uid: ( 263/ shs) Gid: ( 100/ unixdweebs)
Access: 2014-08-23 03:00:36.000000000 -0400
Modify: 2014-08-22 12:02:12.000000000 -0400
Change: 2014-08-22 12:02:12.000000000 -0400