詳解Linux中atime,mtime,ctime的使用場(chǎng)景
一、文件與文件夾三個(gè)時(shí)間:atime,mtime,ctime的含義
1.含義
atime(Access Time):文件最近被訪問時(shí)間
mtime(Modify Time):文件最近內(nèi)容修改時(shí)間
ctime(Change Time):文件最近權(quán)限和屬性修改時(shí)間
2.文件的觸發(fā)time修改的情況
atime(Access Time):在讀取文件或者執(zhí)行文件時(shí)更改的任何對(duì)inode的訪問都會(huì)使此處改變
mtime(Modify Time):在寫入文件時(shí)隨文件內(nèi)容的更改而更改的
ctime(Change Time):在寫入文件、更改所有者、權(quán)限或鏈接設(shè)置(更改狀態(tài))時(shí)隨 Inode 的內(nèi)容更改而更改的
3.文件夾觸發(fā)time修改的情況
atime(Access Time):讀取文件或者執(zhí)行文件時(shí)更改的(cd不會(huì)ls會(huì)改變)
mtime(Modify Time):在文件夾中有文件的新建才會(huì)改變,注意使用vi在文件夾內(nèi)新建文件即使退出時(shí)也會(huì)變化mtime,而只更改文件夾內(nèi)文件內(nèi)容不會(huì)修改文件夾的mtime
ctime(Change Time):ctime 基本同文件的ctime,其體現(xiàn)的是inode的change time
4.注意事項(xiàng),mtime與ctimemtime的改變必然導(dǎo)致ctime的改變,但是ctime不一定導(dǎo)致mtime的更改
二、stat命令查看文件的時(shí)間
<strong>stat test001.txt</strong>

三、ll命令查看文件時(shí)間(對(duì)照stat命令可驗(yàn)證)
1.默認(rèn)顯示mtime
ll test001.txt #默認(rèn)顯示mtime

2.展示ctime
ll --time=ctime test001.txt #展示ctime

3.展示atime
ll --time=atime test001.txt #展示atime

四、測(cè)試創(chuàng)建/修改文件的時(shí)間
假定目前的時(shí)間是:2022-10-05 13:15:40
date "+%Y-%m-%d %H:%M:%S"

1.創(chuàng)建文件后測(cè)試,文件atime、ctime、mtime均一樣
touch test001.txt stat test001.txt

2.修改文件后查看,文件atime不變,ctime、mtime更新
echo 123 > test001.txt stat test001.txt

3.更改文件屬主后:文件atime、mtime不變,ctime更新
chown -R root:root test001.txt stat test001.txt

4.創(chuàng)建文件夾,文件atime、ctime、mtime均一樣
mkdir test001mdr stat test001mdr

5.文件夾內(nèi)新建文件,文件夾atime不變,ctime與mtime均發(fā)生改變
vi test001mdr/test001.txt stat test001mdr

6.修改文件夾的屬主,文件夾的atime、mtime不變,ctime更新
chown -R root:root ./test001mdr stat test001mdr

五、常用命令關(guān)于文件時(shí)間相關(guān)
(24h為一天前時(shí)間節(jié)點(diǎn),0為當(dāng)前時(shí)間)
1.在當(dāng)前目錄下查詢3天內(nèi)修改過的文件(72h~0)
find . -mtime -3 #查詢3天內(nèi)修改過的文件

2.在當(dāng)前目錄下查詢1天內(nèi)訪問過的文件(24h~0)
find . -atime -1 #查詢1天內(nèi)訪問過的文件

3.查找50-100 天修改過的文件(100d~50d)
find / -mtime +50 -mtime -100 #查找50-100 天修改過的文件

4.查找過去 1 小時(shí)內(nèi)更改過的文件(60min~0)
find . -mmin -60 #過去1小時(shí)內(nèi)更改過的文件

5.查找前一天修改過的文件(48h~24h)
find . -mtime 1 #查找前一天修改過的文件(48h~24h)

6.查找一天前修改過的文件(~48h)
find . -mtime +1 #查找一天前修改過的文件(~48h)

7.查找早于指定日期修改的文件(~=day)
find .? -newermt 2022-10-04? #查找早于指定日期(包含)修改的文件

8.查找24小時(shí)內(nèi)修改的文件(24h~0)
find . -newermt '-24hours' #查找24小時(shí)內(nèi)修改的文件

9.查找10分鐘之內(nèi)修改過的文件(10min~0)
find /home/ -type f -newermt '-10 minutes' #查找10分鐘之內(nèi)修改過的文件

10.查找1天之內(nèi)修改過的文件(24h~0)
find . -newermt '1 day ago' #查找1天之前到現(xiàn)在修改的文件

11.查找昨天到現(xiàn)在修改的文件-同上(24h~0)
find . -newermt 'yesterday' #查找昨天到現(xiàn)在修改的文件

到此這篇關(guān)于詳解Linux中atime,mtime,ctime的使用場(chǎng)景的文章就介紹到這了,更多相關(guān)Linux atime mtime ctime內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell腳本學(xué)習(xí)指南[三](Arnold?Robbins?&?Nelson?H.F.?Beebe著)
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[三](Arnold?Robbins?&?Nelson?H.F.?Beebe著),需要的朋友可以參考下2014-02-02
shell腳本declare命令的用法詳解(聲明變量的屬性和類型)
這篇文章主要介紹了shell腳本declare命令用法(聲明變量的屬性和類型,declare?命令在一般的腳本編寫中并不常用,大多數(shù)情況下直接使用簡(jiǎn)單的變量賦值語句即可滿足需求,需要的朋友可以參考下2023-06-06
Linux設(shè)置每晚定時(shí)備份Oracle數(shù)據(jù)表的操作命令
這篇文章主要介紹了Linux設(shè)置每晚定時(shí)備份Oracle數(shù)據(jù)表,本文通過腳本命令給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
Linux 使用shell腳本處理字符串的實(shí)現(xiàn)
這篇文章主要介紹了Linux 使用shell腳本處理字符串的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Shell腳本中判斷輸入變量或者參數(shù)是否為空的方法
這篇文章主要介紹了Shell腳本中判斷輸入變量或者參數(shù)是否為空的方法,本文總結(jié)了5種方法,并分別給出了代碼實(shí)例,需要的朋友可以參考下2014-10-10

