詳解Linux中atime,mtime,ctime的使用場(chǎng)景
一、文件與文件夾三個(gè)時(shí)間:atime,mtime,ctime的含義
1.含義
atime(Access Time):文件最近被訪問(wèn)時(shí)間
mtime(Modify Time):文件最近內(nèi)容修改時(shí)間
ctime(Change Time):文件最近權(quán)限和屬性修改時(shí)間
2.文件的觸發(fā)time修改的情況
atime(Access Time):在讀取文件或者執(zhí)行文件時(shí)更改的任何對(duì)inode的訪問(wèn)都會(huì)使此處改變
mtime(Modify Time):在寫(xiě)入文件時(shí)隨文件內(nèi)容的更改而更改的
ctime(Change Time):在寫(xiě)入文件、更改所有者、權(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)前目錄下查詢(xún)3天內(nèi)修改過(guò)的文件(72h~0)
find . -mtime -3 #查詢(xún)3天內(nèi)修改過(guò)的文件
2.在當(dāng)前目錄下查詢(xún)1天內(nèi)訪問(wèn)過(guò)的文件(24h~0)
find . -atime -1 #查詢(xún)1天內(nèi)訪問(wèn)過(guò)的文件
3.查找50-100 天修改過(guò)的文件(100d~50d)
find / -mtime +50 -mtime -100 #查找50-100 天修改過(guò)的文件
4.查找過(guò)去 1 小時(shí)內(nèi)更改過(guò)的文件(60min~0)
find . -mmin -60 #過(guò)去1小時(shí)內(nèi)更改過(guò)的文件
5.查找前一天修改過(guò)的文件(48h~24h)
find . -mtime 1 #查找前一天修改過(guò)的文件(48h~24h)
6.查找一天前修改過(guò)的文件(~48h)
find . -mtime +1 #查找一天前修改過(guò)的文件(~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)修改過(guò)的文件(10min~0)
find /home/ -type f -newermt '-10 minutes' #查找10分鐘之內(nèi)修改過(guò)的文件
10.查找1天之內(nèi)修改過(guò)的文件(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腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn)
這篇文章主要介紹了shell腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05linux awk高級(jí)應(yīng)用實(shí)例
今天看到unix shell 范例精解上有道awk的題目 做了以后拿來(lái)和大家分享下2016-08-08完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問(wèn)題
下面小編就為大家?guī)?lái)一篇完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問(wèn)題。2017-04-04linux 定時(shí)執(zhí)行shell、python腳本的方法
這篇文章主要介紹了linux 定時(shí)執(zhí)行shell、python腳本的方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-05-05實(shí)現(xiàn)批量linux格式化硬盤(pán)和掛載硬盤(pán)腳本分享
這篇文章主要介紹了實(shí)現(xiàn)批量linux格式化硬盤(pán)和掛載硬盤(pán)的腳本,需要的朋友可以參考下2014-03-03linux數(shù)據(jù)庫(kù)備份并通過(guò)ftp上傳腳本分享
這篇文章主要介紹了linux數(shù)據(jù)庫(kù)備份并通過(guò)ftp上傳腳本,腳本還可以備份網(wǎng)站,需要的朋友可以參考下2014-03-03