Linux下的 檔案的三個時間引數
Linux下檔案三個時間引數:
(1)modification time(mtime):內容修改時間
這裡的修改時間指的是檔案的內容發生變化,而更新的時間。
(2)change time(ctime):狀態修改時間
這裡的修改時間指的是檔案的屬性或者許可權發生變化,而更新的時間。
(3)access time(atime):最後訪問時間
這裡的訪問時間是指檔案被讀取,而更新的時間。
在Linux下操作命令分別為:
ls -l 獲取檔案最後一次內容修改的時間(modification time(mtime))
ls -lu 獲取檔案最後一次訪問的時間(change time(ctime)
ls -lc 獲取檔案最後一次狀態的改變時間(access time(atime))
在Linux下檔案沒有建立時間這個概念,若檔案從建立後不曾修改過則可認為建立時間=修改時間,若檔案建立後狀態也不曾改變過則可認為建立時間=改變時間,若檔案建立後不曾被讀取過則可認為建立時間=訪問時間。但是,上述情況基本上是不可能的,也就是說幾乎不可能獲取到檔案的建立時間。
下面我在Linux下驗證下這三個檔案時間
首先,建立一個test.c 的檔案,並獲取他的三個時間引數
剛開始建立的檔案三個時間引數是一樣的。
使用vim編輯檔案,在test.c中新增內容
此時我們發現檔案的三個時間都發生了變化,這是因為我們在修改檔案內容的時候相當於訪問檔案,在新增內容後文件的屬性也發生了變化(大小、塊數、時間資料
此時我們使用vim 但不向檔案內新增內容,相當於訪問
此時我們發現只有檔案的訪問時間變化了,這印證了通過vim編輯檔案實際上是先訪問了檔案的說法。另外也說明只要其內容沒有發生變化,那麼檔案的修改時間也保持不變。
另外我們測試檔案屬性變化後的檔案的三個時間
我們發現此時只有檔案的狀態時間發生了變化。
Linux下的find指令