我在 Unix 機器上執行這個命令:
find . name CVS -exec rm -fr {} \;
我想刪除CVS
當前目錄中任何目錄中調用的任何文件,它刪除了所有內容。
幸運的是,我所要做的就是再次從 CVS 中檢查即可恢復。想像一下,如果我指定/
為起始目錄!
我認為原因是我使用了name
而不是-name
.我只是重新運行它
find . -name CVS -exec rm -fr {} \;
而且看起來效果很好。如果name
使用 與 相對,到底會發生什麼事-name
?
答案1
你之前錯過了破折號-name
,因此它正在尋找路徑名為.
、name
和CVS
,其中點引用目前資料夾,因此刪除所有資料夾。
find 實用程式遞歸地向下尋找列出的每個路徑的目錄樹。
echo
您可以透過在要執行的命令之前使用來輕鬆測試:
尋找 。名稱 CVS -exec echo rm -fr {} \;