我正在尝试删除/tmp目录中超过一天的所有文件和文件夹。
我知道要删除我必须做的所有文件和文件夹
rm -rf *
Run Code Online (Sandbox Code Playgroud)
但我不确定我还能如何找到超过一天的所有文件和文件夹来删除它们并将 cron 放入。
Jos*_*Jos 13
首先,使用find来选择这些文件:
find /tmp -mmin +1440
Run Code Online (Sandbox Code Playgroud)
将查找 1440 分钟前修改过的文件。(有一个选项可以使用天而不是分钟,但它向上舍入,+1 将意味着 2 天或更长时间,不幸的是。请参阅下面的通知)。
试试这个,如果您对找到正确的文件感到满意,请一次性删除它们:
find /tmp -mmin +1440 -delete
Run Code Online (Sandbox Code Playgroud)
查看man find其他可能性(上次状态更改时间、访问时间)。
使用注意事项-mtime +1:
在人中发现
它说:
-mtime n
文件的数据最后修改时间为 n*24 小时前。
但它也说:
请参阅注释
-atime以了解舍入如何影响文件修改时间的解释。评论
-atime说:当 find 计算出上次访问文件是在多少 24 小时之前,任何小数部分都将被忽略,因此要匹配-atime +1,文件必须至少在两天前被访问过。
换句话说, -mtime就目前而言,只能以 24 小时或一天为单位计算 -mtime +1,这意味着至少一天(即两天+)正好超过一天
-mmin另一方面可以以分钟为单位。因此,如果严格的准确性至关重要,则-mmin +1440可以使用(1440 分钟 = 1 天)代替-mtime +1
| 归档时间: |
|
| 查看次数: |
1993 次 |
| 最近记录: |