2014-02-05 74 views
2

我在我的一台服务器上发现了一个无限连续的空子目录。 我想:删除无限的嵌套目录

rm -Rf <dir> 

然后

find . -name /<dir>/* -exec rm -f {} \; 

而最终

rsync -a --delete /emptydir/* /<dir>/* 

但这些都不解决。 有没有人有更好的主意?

非常感谢。

PS:只是让你知道,我尝试了“查找”命令“mindepth”的说法,我仍然有后8000个子目录的东西...

+0

应该是'rm -rf DIR',而不是大写R – BMW

+2

@BMW同时允许'-r'和'-R'并且意味着相同 – hek2mgl

+0

@otanein,输出是什么,运行rm -Rf后是什么? – BMW

回答

1

不能有子迪尔斯如果一个无限循环你忽略符号链接。我想你是符号链接的受害者。

因此使用下面的命令,它只能找到目录不是符号链接:

find -type d -exec rm -rf {} \; 
+0

它挂起如rm – otanein

+0

等待,直到它准备好。你可以看看它是否真的使用'strace'挂起。我不相信,或者至少我不指望'发现'是问题 – hek2mgl

0

你可能想要删除的目录深度优先:

find . -depth -type d -exec rm -rf {} \; 

find不遵循符号链接默认。

+0

它挂起像rm – otanein