1. 程式人生 > >【Linux】stat命令檢視檔案的三個時間

【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 (最後修改時間)