【Linux】stat命令檢視檔案的三個時間
stat命令
stat命令用於顯示檔案的狀態資訊。
語法
stat(選項)(引數)
選項
-L:支援符號連線;
-f:顯示檔案系統狀態而非檔案狀態;
-t:以簡潔方式輸出資訊;
–help:顯示指令的幫助資訊;
–version:顯示指令的版本資訊。
引數
檔案:指定要顯示資訊的普通檔案或者檔案系統對應的裝置檔名。
Linux下與檔案相關的時間
在Linux中,沒有檔案建立時間的概念。
只有檔案的訪問時間、修改時間、狀態改變時間。
也就是說不能知道檔案的建立時間。
但如果檔案建立後就沒有修改過,修改時間=建立時間。
如果檔案建立後,狀態就沒有改變過,那麼狀態改變時間=建立時間。
如果檔案建立後,沒有被讀取過,那麼訪問時間=建立時間。
與檔案相關的幾個時間:
1、訪問時間
讀一次這個檔案的內容,這個時間就會更新。比如對這個檔案使用more命令。
ls、stat命令都不會修改檔案的訪問時間。
2、修改時間
對檔案內容修改一次,這個時間就會更新。比如:vi後儲存檔案。ls -l列出的時間就是這個時間。
3、狀態改變時間
是該檔案的i節點最後一次被修改的時間,通過chmod命令更改一次檔案屬性,這個時間就會更新。
stat
當使用了stat命令時:
如圖所示,會出現3個型別的時間,分別是Access,Modify,Change。
下面我們就對這3個時間進行詳細解釋下。
access time:表示我們最後一次訪問(僅僅是訪問,沒有改動)檔案的時間
modify time:表示我們最後一次修改檔案的時間
change time:表示我們最後一次對檔案屬性改變的時間,包括許可權,大小,屬性等等。
有以下三種情況:
1,當我們僅僅只是讀取檔案時,access time 改變,而modify,change time 不會改變
2,當修改檔案時,access,modify,change time 都會跟著改變
3,當修改檔案屬性時,change time 改變,而access,modify time 不變。
除了可以通過stat來檢視檔案的mtime,ctime,atime等屬性,也可以通過ls命令來檢視,具體如下:
ls -lc filename 列出檔案的 ctime (最後更改時間)
ls -lu filename 列出檔案的 atime(最後存取時間)
ls -l filename 列出檔案的 mtime (最後修改時間)