Command-Line

刪除其中沒有文件的目錄

  • July 5, 2014

我最近創建了一個使用者名和一個名為gamesForAdmin. 從那以後我刪除了它,我為它創建的文件夾仍然存在:

drwxr-xr-x  5 root     root       4096 Jul  4 11:28 .
drwxr-xr-x 23 root     root       4096 May 29 12:41 ..
drwxr-xr-x  2 sftpuser sftpaccess 4096 Jul  4 11:24 gamesForAdmin
drwxr-xr-x 27 ryan     ryan       4096 Jul  4 11:31 ryan
drwxr-xr-x  3 root     sftpaccess 4096 Jul  4 11:29 sftpuser

當我嘗試執行 asudo rmdir gamesForAdmin時,我收到以下錯誤消息:

rmdir: failed to remove ‘gamesForAdmin’: Directory not empty

但是目錄裡什麼都沒有!當我執行時ls,沒有列出任何內容。

  • 為什麼會出現這種情況?
  • 如何成功刪除此目錄?

輸出ls -la gamesForAdmin

total 28
drwxr-xr-x 2 sftpuser sftpaccess 4096 Jul  4 11:24 .
drwxr-xr-x 5 root     root       4096 Jul  4 11:28 ..
-rw------- 1 sftpuser sftpaccess  471 Jun  9 19:49 .bash_history
-rw-r--r-- 1 sftpuser sftpaccess  220 Apr  8 21:03 .bash_logout
-rw-r--r-- 1 sftpuser sftpaccess 3637 Apr  8 21:03 .bashrc
-rw-r--r-- 1 sftpuser sftpaccess  675 Apr  8 21:03 .profile
-rw------- 1 sftpuser sftpaccess  644 Jun  9 17:48 .viminfo

根據您在問題中顯示的輸出,目錄gamesForAdmin不為空,因此rmdir無法刪除此目錄。要刪除它,您需要使用它rm -fr。試試這個:

sudo rm -rf gamesForAdmin

這應該可以解決您的問題。

您的文件夾可以有一些隱藏文件(預設情況下ls不顯示點文件,即名稱以開頭的文件.是隱藏的)。

跑:

ls -la gamesForAdmin

檢查其中是否有任何隱藏文件。

更新

根據你的結果ls -la,你的目錄不是空的,所以rmdir不能刪除它,rmdir只能使用空目錄。

要刪除它,您可以使用:

rm -r gamesForAdmin

引用自:https://unix.stackexchange.com/questions/140786