區分一個文件或者目錄的更改時間(change time,ctime),訪問時間(access time,atime)以及修改時間(modify time,mtime)很重要。
ctime——在Unix中,基本是無法知道一個文件的精確創建時間。更改時間(ctime)是指文件或者目錄的屬性(所有者、權限等等)被更改的時間。ctime在文件的內容改變的時候也會改變。如果一個文件需要備份的話,dump命令需要用到ctime。你可以用ls -lc 命令來查看ctime。
atime——訪問時間(atime)就是一個文件的數據最后一次被訪問的時間。例如,顯示一個文件的內容或者運行一個shell腳本會更新文件的atime。你可以用ls -lu命令查看。
mtime——修改時間(mtime)就是文件的目前內容最后被修改的時間。這是在一個長目錄列表中顯示的時間。
在Linux中,狀態命令會顯示3次。
例子:
$ cat file
文件的atime將更新。
$ chmod g+w file
文件的ctime將更新。
$ echo "File contents" > file
文件的ctime和mtime將更新。
---------------------------------------------------------------------
Linux文件與目錄的三種時間狀態
1. mtime(medify time):最后一次修改文件或目錄的時間
2. ctime(chang time) :最后一次改變文件或目錄(改變的是原數據即:屬性)的時間如:記錄該文件的inode節點被修改的時間。touch命令除了-d和-t選項外都會改變該時間。而且chmod,chown等命令也能改變該值。
3. atime(access time)::最后一次訪問文件或目錄的時間
對于文件: 當修改mtime時,ctime必須隨著改變.因為文件大小等都屬性;有人說說atime也一定會改變,要想修改文件必須先訪問;其實是不對的不必訪問文件就能修改其內容:如:#echo “This 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: 查看文件訪問時間
原文:http://linuxme.blog.51cto.com/1850814/347549
新聞熱點
疑難解答