有關find -mtime這個參數的使用有比較多的坑,今天把這個問題在這裏記錄下來:
mtime參數的理解應該如下:
-mtime n 按照文件的更改時間來找文件,n爲整數。
- n 表示文件更改時間距離爲n天
- -n 表示文件更改時間距離在n天以內
- +n 表示文件更改時間距離在n天以前
例:
- -mtime 0 表示文件修改時間距離當前爲0天的文件,即距離當前時間不到1天(24小時)以內的文件。
- -mtime 1 表示文件修改時間距離當前爲1天的文件,即距離當前時間1天(24小時-48小時)的文件。
- -mtime+1 表示文件修改時間爲大於1天的文件,即距離當前時間2天(48小時)之外的文件
- -mtime -1 表示文件修改時間爲小於1天的文件,即距離當前時間1天(24小時)之內的文件
爲什麼-mtime+1 表示文件修改時間爲大於1天的文件,即距離當前時間48小時之外的文件,而不是24小時之外的呢? 因爲n值只能是整數,即比1大的最近的整數是2,所以-mtime+1不是比當前時間大於1天(24小時),而是比當前時間大於2天(48小時)。