Answers:
您可以从说开始find /var/dtpdev/tmp/ -type f -mtime +15
。这将查找所有超过15天的文件并打印其名称。(可选)您可以-print
在命令末尾指定,但这是默认操作。建议先运行上述命令,以查看选择了哪些文件。
确认find
命令列出了要删除的文件(没有其他文件)后,可以添加“操作”以删除文件。典型的操作是:
-exec rm -f {} \;
(或等效地,-exec rm -f {} ';'
)
这将rm -f
在每个文件上运行;例如,
rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-exec rm -f {} +
这将一次rm -f
在许多文件上运行;例如,
rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
因此它可能比选项1快一点。(rm -f
如果您有成千上万个文件,则可能需要运行几次。)
-delete
find
自己删除文件,而不运行rm
。这可能比-exec
变体快得多,但并非在所有系统上都可以。因此,如果使用选项2,则整个命令将是:
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +
或循环执行:
for x in $(find /var/dtpdev/tmp/ -type f -mtime +15); do rm "$x"; done