導航:
一、檔案與資料夾三個時間:atime,mtime,ctime的含義
二、ll命令檢視檔案時間
三、stat命令檢視檔案的時間
四、測試建立/修改檔案的時間
五、常用命令關於檔案時間相關
- - - - - - - - - - 分割線 - - - - - - - - - -
一、檔案與資料夾三個時間:atime,mtime,ctime的含義
1.含義
atime(Access Time):檔案最近被存取時間
mtime(Modify Time):檔案最近內容修改時間
ctime(Change Time):檔案最近許可權和屬性修改時間
2.檔案的觸發time修改的情況
atime(Access Time):在讀取檔案或者執行檔案時更改的任何對inode的存取都會使此處改變
mtime(Modify Time):在寫入檔案時隨檔案內容的更改而更改的
ctime(Change Time):在寫入檔案、更改所有者、許可權或連結設定(更改狀態)時隨 Inode 的內容更改而更改的
3.資料夾觸發time修改的情況
atime(Access Time):讀取檔案或者執行檔案時更改的(cd不會ls會改變)
mtime(Modify Time):在資料夾中有檔案的新建才會改變,注意使用vi在資料夾內新建檔案即使退出時也會變化mtime,而只更改資料夾內檔案內容不會修改資料夾的mtime
ctime(Change Time):ctime 基本同檔案的ctime,其體現的是inode的change time
4.注意事項,mtime與ctime
mtime的改變必然導致ctime的改變,但是ctime不一定導致mtime的更改
stat test001.txt
1.預設顯示mtime
ll test001.txt #預設顯示mtime
2.展示ctime
ll --time=ctime test001.txt #展示ctime
3.展示atime
ll --time=atime test001.txt #展示atime
假定目前的時間是:2022-10-05 13:15:40
date "+%Y-%m-%d %H:%M:%S"
1.建立檔案後測試,檔案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.建立資料夾,檔案atime、ctime、mtime均一樣
mkdir test001mdr
stat test001mdr
5.資料夾內新建檔案,資料夾atime不變,ctime與mtime均發生改變
vi test001mdr/test001.txt
stat test001mdr
6.修改資料夾的屬主,資料夾的atime、mtime不變,ctime更新
chown -R root:root ./test001mdr
stat test001mdr
五、常用命令關於檔案時間相關(24h為一天前時間節點,0為當前時間)
1.在當前目錄下查詢3天內修改過的檔案(72h~0)
find . -mtime -3 #查詢3天內修改過的檔案
2.在當前目錄下查詢1天記憶體取過的檔案(24h~0)
find . -atime -1 #查詢1天記憶體取過的檔案
3.查詢50-100 天修改過的檔案(100d~50d)
find / -mtime +50 -mtime -100 #查詢50-100 天修改過的檔案
4.查詢過去 1 小時內更改過的檔案(60min~0)
find . -mmin -60 #過去1小時內更改過的檔案
5.查詢前一天修改過的檔案(48h~24h)
find . -mtime 1 #查詢前一天修改過的檔案(48h~24h)
6.查詢一天前修改過的檔案(~48h)
find . -mtime +1 #查詢一天前修改過的檔案(~48h)
7.查詢早於指定日期修改的檔案(~=day)
find . -newermt 2022-10-04 #查詢早於指定日期(包含)修改的檔案
8.查詢24小時內修改的檔案(24h~0)
find . -newermt '-24hours' #查詢24小時內修改的檔案
9.查詢10分鐘之內修改過的檔案(10min~0)
find /home/ -type f -newermt '-10 minutes' #查詢10分鐘之內修改過的檔案
10.查詢1天之內修改過的檔案(24h~0)
find . -newermt '1 day ago' #查詢1天之前到現在修改的檔案
11.查詢昨天到現在修改的檔案-同上(24h~0)
find . -newermt 'yesterday' #查詢昨天到現在修改的檔案