linux基礎---關於atime,ctime,mtime的理解

    時常會遇到根據文件的時間屬性作操做的狀況,Linux下的文件相關的時間屬性有三個。atime,ctime,
mtime。筆者也時常搞混,每次遇到都會人肉搜索,閒暇之際準備將這個知識完全搞懂。

看過權威文檔,寫的很容易產生誤解,如今根據本身的理解給出3個參數的解釋:

ctime   文件內容及文件屬性的任何變化(change),ctime都會更新時間。
mtime   記錄最近一次文件內容變化(modify)的時間。
atime   記錄文件內容或文件屬性變化後的第一次訪問(access)時間。 ---這個須要注意,筆者踩過坑


修改文件內容後,哪些參數在變化?

wKioL1ncYF2hiVRIAACfkaBbqak537.png-wh_50

當咱們往文件中追加內容後,咱們能夠看到mtime,ctime均更新了時間。
atime沒有發生變化。

wKiom1ncz2yDGzCWAACibriTPXA357.png-wh_50

當咱們修改文件屬性後,咱們能夠看到只有ctime更新了時間。
mtime,atime沒有發生變化。

wKioL1ncYF6R3pR8AACjanck4vs190.png-wh_50

當咱們使用tail,more,less等查看屬性或內容變動後的文件,此時atime也更新了時間。
而若是一直沒有訪問這個文件,這個文件的atime會一直不會更新。


一個廣泛的應用場景:
bash

有些業務須要定時刪除2個月以前的文件。此場景比較經常使用,應使用 find dir -mtime +60。而若是使用atime,ctime會遇到驚喜。     less

相關文章
相關標籤/搜索