我有一个命令,我正在使用它来查找和删除超过指定时间的目录中的文件。 该命令是:
sudo find /path/to/dir/* -daystart -mtime +7 -delete
我怎样才能修改这个命令来删除目录以及指定目录下的文件。
您可能不希望根据修改时间删除目录。 你可能想要做的是删除一个目录,一旦它没有任何文件。
解决这个问题的方法之一是:
find /path/to/dir -type d -empty -exec rmdir {} \;
如果您有经常使用的目录,但有时是空的,则可以将命令更改为
find /path/to/dir -type d -empty -daystart -mtime +7 -exec rmdir {} \;
这只会删除目录,如果它不符合修改时间标准,以及它是空的。
这是我运行删除文件的命令:
find /path/to/files* -mtime +1 -exec rm {} \;
以下是未经testing,但我相信你可以修改它通过做这样的recursion删除删除目录:
find /path/to/dir -mtime +1 -exec rm -rf {} \;
find $DNLD_DIR/* -mtime +7 -type d -print0 | xargs -0 rm -rf
删除目录而不检查是否为空。 我用它来删除我创build的目录名为yyyymmdd的目录,我知道我想要清除它的一切,包括目录。
不过要小心使用这个。 任何时候你运行find | xargs rm -rf find | xargs rm -rf如果find条件错误,你可以毁了你的一天。