bash删除旧文件

时间:2017-04-04 11:09:11

标签: linux bash shell recursive-backtracking

我有这个独特的要求,找到2年的旧文件并删除它们。但不仅是文件以及相应的空目录。我已经编写了大部分逻辑,但只有尚未解决的问题是,当我从目录中删除特定文件时,如何删除相应的目录,当它为空时。当我删除特定文件时,ctime / mtime也会相应地更新。如何定位相应的旧目录并删除它们? 任何指针都会有所帮助。 提前谢谢。

  • 管理

1 个答案:

答案 0 :(得分:3)

我会做这样的事情:

find /path/to/files* -mtime +730 -delete

-mtime +730查找超过730天的文件。

请注意这种命令,请务必事先写下find /path/to/files* -mtime +730并检查这些是您要删除的文件!

修改 现在您已从目录中删除了文件,-mtime +730无法正常工作。 要删除最近更改的所有空目录:

find . -type d -mmin -60 -empty -delete