有关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小时)。
转载于:https://blog.51cto.com/zhangrf/2096093