無法透過 rm -rf 刪除沒有使用者使用的空白資料夾

無法透過 rm -rf 刪除沒有使用者使用的空白資料夾

這是一台solaris機器(unix)

我有一個資料夾包含一些子資料夾,但其中沒有文件。

root # ls -al `find trash`
trash:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxr-xr-x   9 ----     ----        1024 Oct  8 06:20 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 src

trash/src:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 tob

trash/src/tob:
total 4
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..

我嘗試刪除它但失敗了:

root # rm -rf trash
rm: Unable to remove directory trash/src/tob: File exists
rm: Unable to remove directory trash/src: File exists
rm: Unable to remove directory trash: File exists

我嘗試尋找掛載點但失敗:

root # mount | grep `pwd`

我嘗試尋找其中包含 pwd 的進程,但失敗了:

root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:

有什麼線索我應該如何刪除這個資料夾而不格式化磁碟。我仍然是 unix 的新手,所以如果您正在尋找更多信息,請告訴我該命令。

答案1

可能某些進程正在重新創建托布rm 刪除後直接檔案。這是一篇關於處理它的部落格文章

刪除此文件只會將其替換為另一個文件。有兩種解決方案:手動刪除 NFS 伺服器上的文件,或(如果您沒有此類存取權限)終止其進程。

如果檔案不在 NFS 上,建議檢查哪個程序擁有該檔案的句柄,然後終止它仍然適用。檢查:

fuser -u <file>

終止進程後,您應該能夠刪除該目錄。

相關內容