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

三、ll命令查看文件時間(對照stat命令可驗證)
1.默認顯示mtime
ll test001.txt #默認顯示mtime

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

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

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

1.創(chuàng)建文件后測試,文件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

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

2.在當前目錄下查詢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 小時內(nèi)更改過的文件(60min~0)
find . -mmin -60 #過去1小時內(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小時內(nèi)修改的文件(24h~0)
find . -newermt '-24hours' #查找24小時內(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)在修改的文件

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

