linux下文件的创建时间、访问时间、修改时间和改变时间
確切的說不存在創(chuàng)建時間。若文件從創(chuàng)建后不曾修改過則可認(rèn)為創(chuàng)建時間=修改時間,若文件創(chuàng)建后狀態(tài)也不曾改變過則可認(rèn)為創(chuàng)建時間=改變時間,若文件創(chuàng)建后不曾被讀取過則可認(rèn)為創(chuàng)建時間=訪問時間。但是,但是,上述情況基本上是不可能的,也就是說幾乎不可能獲取到文件的創(chuàng)建時間。
?
可以通過stat命令查看文件的狀態(tài)
可以看到該文件的訪問時間、修改時間、改變時間均為13:36:55。此處這一時間也是該文件的創(chuàng)建時間,因為文件創(chuàng)建后沒有發(fā)生過訪問、修改和改變。
?
?? 訪問時間(accesstime):讀取一次文件的內(nèi)容,該時間便會更新。比如對這個文件使用less命令或者more命令。(ls、stat這樣的命令不會修改文件訪問時間)
可以看到對文件使用more\less\cat命令后文件的訪問時間分別變化為最后一次訪問的時間,而文件的修改時間和改變時間并沒有發(fā)生變化。
可以看到,對文件使用ls\stat命令列出文件屬性\顯示文件狀態(tài)后文件的訪問時間并沒有發(fā)生變化,這是因為這些過程并沒有讀取文件內(nèi)容本身。
?
?? 修改時間(modifytime):對文件內(nèi)容修改一次便會更新該時間。例如使用vim等工具更改了文件內(nèi)容并保存后,文件修改時間發(fā)生變化。通過ls –l列出的時間便是這個時間。要想看到文件訪問時間可使用ls –ul命令。
當(dāng)前的文件狀態(tài)。
使用vim編輯文件添加了“test file access time,modify time,change time”后保存文件,查看文件的狀態(tài),可以看到文件的修改時間發(fā)生了變化。但值得注意的是文件的訪問時間和改變時間也發(fā)生了變化。這是問什么呢?這是因為我們通過vim打開文件實際上也是訪問了文件因此文件訪問時間會更新,而當(dāng)添加了內(nèi)容并保存后文件的大小、塊數(shù)、時間數(shù)據(jù)等狀態(tài)也發(fā)生了變化,因此其狀態(tài)改變時間也被更新。也就是說修改文件內(nèi)容往往也會更新文件的狀態(tài)改變時間和訪問時間,但不是絕對的。后邊的例子會講解這種情況。
這一次我們只通過vim打開文件,不進(jìn)行任何編輯再保存文件,查看得知文件的訪問時間發(fā)生了變化而修改時間和狀態(tài)改變時間并沒有被更新。這印證了通過vim編輯文件實際上是先訪問了文件的說法。另外也說明只要其內(nèi)容沒有發(fā)生變化,那么文件的修改時間也保持不變。
ls –l命令顯示文件的修改時間,ls –ul命令顯示文件的訪問時間。
?
?? 改變時間(changetime):更改文件的屬性便會更新該時間,比如使用chmod命令更改文件屬性,或者執(zhí)行其他命令時隱式的附帶更改了文件的屬性若文件大小等。
當(dāng)前的訪問時間、修改時間、狀態(tài)變化時間。
執(zhí)行完chmod命令后查看文件狀態(tài)發(fā)現(xiàn)狀態(tài)變化時間被更新。訪問時間和修改時間保持不變,因為這一過程并沒有讀取文件內(nèi)容也沒改變文件內(nèi)容
通過重定向命令來改變文件內(nèi)容會更新文件的修改時間和狀態(tài)改變時間。因為這一過程修改了文件內(nèi)容,改變了文件大小、修改時間等狀態(tài),而沒有讀取文件的內(nèi)容。這也驗證了“修改文件內(nèi)容往往也會更新文件的狀態(tài)改變時間和訪問時間,但不是絕對的。”這一說法。
總結(jié)
以上是生活随笔為你收集整理的linux下文件的创建时间、访问时间、修改时间和改变时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件时间与系统时间
- 下一篇: Linux环境进程间通信 信号量