Command-Line

stat 命令上下文中的修改和更改有什麼區別?

  • October 6, 2017

stat命令的手冊頁說:

   %x     Time of last access
   %y     Time of last modification
   %z     Time of last change

我無法理解modifychange之間的區別。我知道這些詞是同義詞(英語不是我的母語),但它們的輸出不同。

我嘗試了以下命令

stat --printf="Change %z\nAccess %x\nModify %y\n" p.txt

現在當我打開 p.txt 時,訪問時間發生了變化,我進入插入模式,編輯文件,修改和更改時間保持不變。

更改 2010-10-06 12:48:39.286252389 +0500
訪問 2010-10-06 12:49:14。**962243456** +0500
修改 2010-10-06 12:48:39.234498878 +0500

當我將更改寫入 file :w、 modify 和 change 時,兩者都會更改但給出不同的值。

更改 2010-10-06 12:51:21。**949082169** +0500
訪問 2010-10-06 12:51:21.908246082 +0500
修改 2010-10-06 12:51:21。**908246082** +0500

那麼在這種情況下,“修改”和“改變”的含義是什麼?也就是說,修改和更改的時間給出了哪些事件的時間?

謝謝

我引用的這個問題已經回答了這個問題(原始文本由echox 提供):

有3種“時間戳”:

  • 訪問 - 上次讀取文件的時間
  • Modify - 上次修改文件的時間(內容已被修改)
  • Change - 上次更改文件元數據的時間(例如權限)

StackOverflow 上的這篇文章從程式介面的角度解釋了三個不同時間之間的區別。

引用自:https://unix.stackexchange.com/questions/2802