如何删除1年以上的Linux中的文件?[重复]


Answers:


15
find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;

2
find /path/to/files -type f -mtime +365 -delete会更容易。
克里斯S

-delete不在我的aix中,因此我不习惯使用它。我很高兴在其他查找二进制文件中实现了它。
bot403

find … -exec rm -f {} +速度会更快一点(除了古老的系统,它是可移植的)。
吉尔(Gilles)“所以,别再邪恶了”,2010年

1
同样,最好使用--第一个文件名以“。”开头-(尽管您可以保证如果传递给的目录find不是以“ -。” 开头)。
吉尔斯(Gilles)“所以,别再邪恶了”,2010年

这是非常危险的,因为您看不到要删除的内容,为什么在世界上却使用-f强制删除?有些文件受保护是有原因的。将find结果存储到文件中,然后检查它们并在文件内容上运行rm,这是更加安全的方法。
彼得

2

如果要删除大量文件,这通常比“ -exec”或管道传输到“ xargs”要快得多:

find . -type f -mtime +365 | perl -lne unlink
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.