find命令的 -mtime等幾個時間引數的作用
原文地址:https://www.iteye.com/blog/xiaoxiaoher-2509124
find命令的 -mtime等幾個時間引數的作用
linux系統中檔案的三種時間屬性
modification time(mtime,修改時間):當該檔案的“內容資料”更改時,就會更新這個時間。內容資料指的是檔案的內容,而不是檔案的屬性。
status time(ctime,狀態時間):當該檔案的”狀態(status)”改變時,就會更新這個時間,舉例來說,更改了許可權與屬性,就會更新這個時間。
access time(atime,存取時間):當“取用檔案內容”時,就會更新這個讀取時間。舉例來說,使用cat去讀取 ~/.bashrc,就會更新atime了。
find命令中時間引數的用法
find命令用於在指定目錄下查詢檔案,其中-mtime、-ctime、-atime三個引數分別是對檔案的修改時間、狀態時間、存取時間進行篩選,先以-mtime為例介紹這幾個引數的用法。
系統/home/mysql/backup目錄中有4個檔案,命令列進入該目錄使用 ls -l 命令檢視檔案資訊(後面查詢執行時間都在2019-10-22當天且都在 12點左右)
-mtime n
-mtime n的含義是 查詢修改時間在前n天的檔案,也就是 24*n<mtime<24*(n+1)
注:這裡的mtime表示檔案修改時間與命令執行時間差這裡等號是否包含不好測暫且不管
那麼-mtime 1就是前一天,也就是查詢 24<mtime<48 的檔案,那就是修改時間在 2019-10-21 12:00:00到2019-10-20 12:00:00之間的檔案;上面符合條件的只有 2.sql這個檔案
-mtime +n
-mtime +n的含義是查詢修改時間超過 -mtime n上限的檔案,也就是 mtime>24*(n+1),那 -mtime +1 的含義就是修改時間在2019-10-20 12:00:00之前的檔案,符合條件的有 3.sql 、4.sql
-mtime -n
-mtime -n的含義是查詢修改時間不超過 -mtime n 下限的檔案,也就是 mtime<24*n ,那 -mtime -1 的含義就是修改時間在2019-10-21 12:00:00之後的檔案,符合條件的只有 1.sql