-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime +1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件
-ctime 表示是文件的变更时间(change time),即文件本身的状态(如权限、所属组、位置等)最后被变更的时间。变更文件状态的操作可以是 chmod(修改权限)、chgrp(修改所属组)、mv(移动或重命名文件)等。
例1:从 /volume1/test 目录中拷贝近一个月的文件到 /volume1/test1 中 (只拷贝文件,不考虑文件目录)
find /volume1/test -type f -mtime -30 -exec cp {} /tmp/demo3 \;
例2:从 /volume1/test 目录中拷贝近一个月的文件到 /volume1/test1 中 (保留文件目录结构,相当于整体拷贝过去)
find /volume1/test/* -type d -mtime -30 -exec cp -a {} /volume1/test1 \;
注意,这里的时间是 操作时间(-mtime), 如果逻辑上有问题的 可以用 文件的 文件属性被修改的时间 (-ctime 文件的权限被修改了, 这个时间也是会更新的)来判断
find /volume1/test/* -type d -mtime -30 -exec cp -a {} /volume1/test1 \;
修改mtime 时间的命令:touch -d ‘2020-01-01 10:00:00’ filename
例3:从 /volume1/test 目录中转移一个月前的文件到 /volume1/test1 中 (保留文件目录结构,相当于整体拷贝过去)
find /volume1/test/* -mtime +30 -exec mv {} /volume1/test1/ \;
赞赏
微信赞赏支付宝赞赏