如何删除包含许多子目录的目录?

我有一个包含许多子目录的目录。 我试过了

rm -rf mydirectory 

但1小时后还在运转。 我试图得到的子目录数

 ls -l . | egrep -c '^-' 

但30分钟后还没有完成。

有recursion删除整个目录的更快的方法吗?

 /usr/bin/find /mydir_with_many_subdirs -exec rm {} \; 

你也可以过滤

 /usr/bin/find /mydir_with_many_subdirs -type f -exec rm {} \; -- will delete all files /usr/bin/find /mydir_with_many_subdirs -mtime +10 -exec rm {} \; -- will delete dirs and files older then 10 

男人find将放弃更多的filter,你可以申请。

这应该工作,但我不会使用-f选项。 我也不想以root身份运行该命令! 如果有任何符号链接指向/ var / log或/ usr / lib,那么比起OMGWTF就会遇到麻烦。

这也可能是你在这里遇到的问题 – 有一些符号链接可能会进入非常大的目录,或者符号链接进入某种无限循环。 不要花太长时间去删除一个没有太多内容的小目录。