statコマンド出力結果におけるAccess,Modify,Changeの意味

1272 ワード

まず空白ファイルa.txtを作成する
[emduser@emd tmp]$ touch a.txt

[emduser@emd tmp]$ ls -al a.txt

-rw-rw-r-- 1 emduser emd 0 Dec 14 16:44 a.txt

statコマンドを使用してファイルa.txtの各種属性を表示する
[emduser@emd tmp]$ stat a.txt

  File: `a.txt'

  Size: 0               Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d    Inode: 654176      Links: 1

Access: (0664/-rw-rw-r--)  Uid: (  501/ emduser)   Gid: (  506/     emd)

Access: 2011-12-14 16:44:23.000000000 +0800

Modify: 2011-12-14 16:44:23.000000000 +0800

Change: 2011-12-14 16:44:23.000000000 +0800

上記の最後の3行の意味は以下の通りです.
Access:ファイルが最近アクセスされた時間
Modify:ファイルの内容が最近変更された時刻
Change:ファイル属性が最近変更された時刻
  • ファイルa.txtのコンテンツをcatコマンドで端末に出力(cat a.txtを実行)すると、a.txtのAccessのみが
  • をリフレッシュする.
  • 現在の時間をa.txt(実行date>>a.txt)に追加すると、a.txtのModifyとChangeは
  • をリフレッシュする.
  • a.txtの権限を777(chmod 777 a.txtの実行)に変更すると、a.txtのChangeのみが
  • をリフレッシュする.
  • ファイルa.txtをviコマンドで開き、保存して終了すると、a.txtのAccess、Modify、Changeは
  • をリフレッシュする.
    PS:コマンドtouchを使用してa.txtのアクセス時間とModify時間を更新できます.
    touch-d 1999-01-01 a.txt//a.txtのAccessとModify時間を1999-01-01に変更
    touch-a.txt//a.txtのAccess時間のみを現在のシステム時間に変更
    touch-m a.txt//a.txtのModify時間のみを現在のシステム時間に変更
    ls-l a.txtで見た時間はModify時間です