查找命令以删除路径下的所有目录,但不删除路径本身

时间:2014-02-10 17:25:15

标签: unix find

我想要删除我家庭目录下的所有目录,但这个奇怪的疑问突然出现。它会删除我的家庭目录吗?目前我正在使用下面的oneliner。

find /home/chidori/ -maxdepth 1 -type d -mtime +5 -exec rm -rf {} \;

我浏览了这个论坛,我遇到了这个Shell script to delete directories older than n days。最后一条评论说它将删除命令行中提到的路径,并且它也促使人们也使用-mindepth 1

我想如果那是真的我的要求是删除/ home / chidori /下的文件而不是我的家庭目录(/ home / chidori /)本身?

1 个答案:

答案 0 :(得分:1)

如果您只想删除指定路径下的子目录,请使用:

find /home/chidori/ -maxdepth 1 -mindepth 1 -type d -mtime +5 -exec rm -rf {} \;

出于测试目的,您可以回显将被删除的目录:

find /home/chidori/ -maxdepth 1 -mindepth 1 -type d -mtime +5 -exec echo {} \;