您的位置 首页 Linux

linux – 删除超过X分钟的文件

我想删除超过59分钟的文件.我到现在为止

find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*" -exec rm -f {} \;

这不起作用,似乎删除所有文件.我已经测试了这几次,我认为这个问题是与启动时间有关.

我已经阅读了这个手册页,似乎是在一天的开始的基础上,而不是从24小时前开始的.如果是这样,如何准确地删除59分钟以上的文件?我需要考虑开机时间,再加上几分钟吗?

例:

ubuntu@ip-10-138-30-118:/tmp$ls -la
total 8
drwxrwxrwt  2 root   root   4096 Jul 20 14:39 ./
drwxr-xr-x 23 root   root   4096 Jun 25 18:34 ../
-rw-rw-r--  1 ubuntu ubuntu    0 Jul 20 12:35 a.txt

以下两个命令都返回文件:

ubuntu@ip-10-138-30-118:/tmp$find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*"
/tmp/a.txt

和:

ubuntu@ip-10-138-30-118:/tmp$find /tmp -daystart -maxdepth 1 -mmin +359 -type f -name "*.*"
/tmp/a.txt

但是,该文件不超过659分钟(10.9小时)!但是在759(12.65小时),它不再返回文件了?

解决方法

当与-mmin一起使用时,-artstart似乎使它从今天结束开始计算,而不是开始.

如果您只想在59分钟前找到修改的文件,则不需要该选项. -mmin默认从当前时间计算.

barmar@dev:~/testdir$date
Sat Jul 20 10:02:20 CDT 2013
barmar@dev:~/testdir$ls -l
total 0
-rw-r--r-- 1 barmar adm 0 Jul 20 09:57 a.txt
barmar@dev:~/testdir$find . -maxdepth 1 -mmin +2 -type f
./a.txt
barmar@dev:~/testdir$find . -maxdepth 1 -mmin +10 -type f

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章