1. 程式人生 > 其它 >find命令的 -mtime等幾個時間引數的作用

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