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個小時