mtime: modify time 修改時間,更改檔案内容會修改時間。
ctime: change time狀态修改時間,更改屬主及權限,檔案名,大小,inode号
atime: access time通路時間
怎麼檢視檔案的三個時間?
stat filename
2.怎麼使用這三個時間?
find 中很多參數,其中就有關于這個的
-mmin n
File’s data was last modified n minutes ago.#檔案的資料最後修改了N分鐘前。
-cmin n
File’s status was last changed n minutes ago.#檔案的狀态最後改變了N分鐘前。
-amin n
File was last accessed n minutes ago. #N分鐘前通路了檔案。
那麼我如何檢視我一個小時前修改的檔案呢?
find /root -cmin -60
find /root -mmin -60
3.針對access time不變的問題?
我用cat filename 讀相應的檔案,發現沒有重新整理access time。
而去修改了檔案内容,發現重新整理了access time
官方解釋:
在kernel版本2.6.30之前,linux的核心開發人員針對Ext3/Ext4檔案系統的性能進行了讨論,其中包括atime。在kernel 2.6.30之前,檔案系統中預設會及時的更新atime,這樣會帶來兩個問題:
(1) 系統中大量的檔案通路,将atime寫入到磁盤中,消耗時間,進而降低性能
(2) 這樣的操作也會消耗電能
在Linux上運作的,很少的應用程式需要擷取精确的atime時間,并且Linux核心開發人員從Ext3/Ext4檔案系統的性能角度出發,決定在2.6.30版本的核心中修改atime的更新方式,隻有在以下三種情況之一才會更新atime:
(1) 如果将分區mount的挂載的時候指定采用非relatime方式(預設采用relatime方式),如strictatime.
補充:在OS啟動的時候,将各個分區挂載到不同的目錄,在挂載(mount)的參數中采用strictatime,表明及時更新atime。在2.6.30之後mount添加了”relatime”和”strictatime”兩個選項,詳細的可以通過”man mount”檢視。
(2) atime小于ctime或者小于mtime的時候
(3) 本次的access time和上次的atime超過24個小時