linux有3種文件時(shí)間:1、訪問(wèn)時(shí)間(atime),對(duì)文件進(jìn)行一次讀操作,它的訪問(wèn)時(shí)間就會(huì)改變;2、修改時(shí)間(mtime),是指文件內(nèi)容最后一次修改的時(shí)間;3、狀態(tài)改動(dòng)時(shí)間(ctime),當(dāng)文件的狀態(tài)被改變的時(shí)候,狀態(tài)時(shí)間就會(huì)隨之改變。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
在 Linux 中,文件的時(shí)間是文件的一個(gè)重要的屬性,Linux 中的文件的時(shí)間主要有三個(gè),即修改時(shí)間、訪問(wèn)時(shí)間和狀態(tài)時(shí)間:
-
訪問(wèn)時(shí)間
(atime:access time)
:讀一次文件的內(nèi)容,atime就會(huì)更新。比如對(duì)這個(gè)文件運(yùn)用 more、cat等命令。另外ls、stat命令都不會(huì)修改文件的訪問(wèn)時(shí)間。 -
修改時(shí)間
(mtime:modifiy time)
:mtime是文件內(nèi)容最后一次被修改時(shí)間。例如vi后保存文件。ls -l列出的時(shí)間就是這個(gè)時(shí)間。 -
狀態(tài)改動(dòng)時(shí)間
(ctime:change time)
:ctime是在寫入文件、更改所有者、權(quán)限或鏈接設(shè)置時(shí)隨i節(jié)點(diǎn)的內(nèi)容更改而更改的,是該文件的i節(jié)點(diǎn)最后一次被修改的時(shí)間,通過(guò)chmod、chown命令修改一次文件屬性,這個(gè)時(shí)間就會(huì)更新。
屬性說(shuō)明
文件時(shí)間屬性 | 說(shuō)明 | 描述 |
---|---|---|
mtime | 修改時(shí)間 | 文件內(nèi)容最后一次修改的時(shí)間,我們經(jīng)常用的 ls -l 命令顯示出來(lái)的文件時(shí)間就是這個(gè)時(shí)間,當(dāng)對(duì)文件內(nèi)容修改后,它的 mtime 就會(huì)相應(yīng)的改變。 |
atime | 訪問(wèn)時(shí)間 | 對(duì)文件進(jìn)行一次讀操作,它的訪問(wèn)時(shí)間就會(huì)改變。例如 cat,more 等操作,但是 stat 還有 ls 命令對(duì) atime 是不會(huì)有影響的。 |
ctime | 狀態(tài)時(shí)間 | 當(dāng)文件的狀態(tài)被改變的時(shí)候,狀態(tài)時(shí)間就會(huì)隨之改變。例如當(dāng)使用 chmod、chown 等改變文件屬性的操作是會(huì)改變文件的 ctime。 |
查看文件時(shí)間
一般根據(jù)文件的時(shí)間屬性可以和find命令結(jié)合查詢到想要的結(jié)果
例如查詢最后2小時(shí)內(nèi)更新過(guò)的文件 find / -mtime -2
Linux文件屬性的查看方法 :
-
ls -lc filename
列出文件的 ctime (最后狀態(tài)更改時(shí)間) -
ls -lu filename
列出文件的 atime(最后訪問(wèn)時(shí)間) -
ls -l filename
列出文件的 mtime (最后修改時(shí)間) -
stat filename
一次性看到文件的三種時(shí)間屬性
新創(chuàng)建一個(gè)文件touch file
時(shí)ctime、atime、mtime是相同的;當(dāng)用vi 向文件里寫入信息后,肯定是先訪問(wèn)file 所以atime改變,文件內(nèi)容改變了所有ctime和mtime也改變;當(dāng)用chmod 命令時(shí) ctime會(huì)改變。
一般對(duì)三種時(shí)間屬性的影響的操作:
-
cat、less、more等只訪問(wèn)文件,不修改文件的操作,只會(huì)修改atime的值。
-
chmod、chown修改文件權(quán)限、所有者,所屬組的操作,會(huì)修改atime和ctime的值。
-
vi 等修改文件內(nèi)容的操作,會(huì)修改atime、ctime、mtime的值。