Files

linux上的ctime總是大於或等於mtime嗎?

  • November 19, 2015

我試圖弄清楚linux上文件的時間戳是如何工作的。

在這個答案中指出:

Modify - 上次修改文件的時間(內容已被修改)

Change - 上次更改文件元數據的時間(例如權限)

但每次我更改文件內容時,ctime 也會更改。這讓我覺得這就像一個變化反應:

  1. 文件內容的變化會觸發 mtime 的變化
  2. mtime(文件元數據)的變化觸發了 ctime 的變化

如果這是真的,那麼 ctime 總是 >= 比 mtime。

這個假設在每種情況下都是正確的嗎?(假設系統時間從未手動更改)

否:您可以將mtime(修改時間)和atime(訪問時間)設置為任意時間戳(在time_t數據類型的限制範圍內,包括未來的日期。這樣做之後,ctime將是目前時間。

utimes函式(更新mtimeatime)接受一對timeval結構,它們組合time_t(秒)和 和 微秒,可能會增加解析度,但不限於過去的時間。

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