Files
linux上的ctime總是大於或等於mtime嗎?
我試圖弄清楚linux上文件的時間戳是如何工作的。
在這個答案中指出:
Modify - 上次修改文件的時間(內容已被修改)
Change - 上次更改文件元數據的時間(例如權限)
但每次我更改文件內容時,ctime 也會更改。這讓我覺得這就像一個變化反應:
- 文件內容的變化會觸發 mtime 的變化
- mtime(文件元數據)的變化觸發了 ctime 的變化
如果這是真的,那麼 ctime 總是 >= 比 mtime。
這個假設在每種情況下都是正確的嗎?(假設系統時間從未手動更改)
否:您可以將mtime(修改時間)和atime(訪問時間)設置為任意時間戳(在
time_t
數據類型的限制範圍內,包括未來的日期。這樣做之後,ctime將是目前時間。該
utimes
函式(更新mtime和atime)接受一對timeval
結構,它們組合time_t
(秒)和 和 微秒,可能會增加解析度,但不限於過去的時間。