2014-02-05 114 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