Linux中三個重要時間
一、定義
Chang time:簡稱ctime,一個文件或目錄的更改時間。在Linux中,基本上無法知道一個文件的精確創建時間,更改時間是指文件或目錄的屬性(所有者,權限等等)被修改的時間。如果一個文件需要備份的話,dump命令需要用到ctime,你可以用ls-lc命令查看ctime。
Access time:簡稱atime,一個文件或目錄的訪問時間。就是一個文件的數據最後一次被訪問的時間,例如:顯示一個文件的內容或運行一個shell腳本會更新文件的atime,你可以用ls-lu命令查看。
Modify time:簡稱mtime,一個文件或目錄的修改時間。就是文件的目前內容最後被修改的時間,這是一個在長目錄列表中顯示的時間
二、如何修改
在Linux中,狀態命令會顯示三次,
例如:$ cat file 文件的atime將更新
$ chmod g+w file 文件的ctime將更新
$ echo “File contentss” > file 文件的ctime和mtime將更新。
Linux文件與目錄的三種時間狀態:
1 mtime:最後一次修改文件或目錄的時間
2 ctime:最後一次改變文件或目錄(改變的是原數據即屬性)的時間,如記錄該文件的inode節點被修改的時間。而且chmod,chown等命令也能改變該值。
3 atime:最後一次訪問文件或目錄的時間。
對於文件,當修改mtime時ctime必須隨著改變,因為文件大小等都是屬性,有人說atime也一定會改變,要想修改文件必須先訪問,其實是不對的,不訪問文件也能修改,如#echo“Thos is a test”>>/etc/issue,issue文件內容會改變,但並沒有訪問文件,所以atime並沒有改變。
對於目錄,訪問一個目錄其atime改變,mtime,ctime不變。修改一個目錄,在一個目錄下touch一個文件,mtime和ctime會改變,atime不一定會變。
使用stat命令可以查看三個時間值,例如stat filename,也可以使用ls -l file查看文件修改時間,ls -lc file查看文件狀態改動時間,ls -lu file查看文件訪問時間。