Directory

“無法刪除‘some_directory’:目錄不為空”

  • July 1, 2019

我試圖刪除一些目錄,但是

$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty

但列出其內容不會返回

$ ls DE.aspx_files
$

**補充:**其實

$ ls -la DE.aspx_files

total 4
drwx------ 1 ting ting 4096 Sep 14 20:48 .
drwx------ 1 ting ting    0 Sep 13 22:34 ..
-rw------- 1 ting ting    0 Sep 13 22:34 .fuse_hidden0001d4bf00000006

當我嘗試時rm .fuse_hidden0001d4bf00000006,它被刪除,但另一個新.fuse_hidden0001d4bf00000007創建。

所以我想知道發生了什麼,以及如何解決這個問題?

注意:這是一個新買的外置攜帶式硬碟,我只是使用數據恢復程序將一些文件複製到它。

作業系統:Ubuntu 12.04

謝謝!

當文件被刪除但仍在某處使用並且必須仍然具有目錄條目時, FUSE.fuse_hidden*文件系統會創建這種形式的文件。這類似於通過NFS導出的目錄上的文件。.nfs*

執行df -T .以查看目前目錄上掛載的文件系統類型及其掛載點。對於外部硬碟,很可能這是通過基於 FUSE的NTFS-3G驅動程序安裝的 NTFS 文件系統。

該名稱是文件系統驅動程序為已刪除文件發明的假名稱。您不能刪除該文件(或者更確切地說,如果您創建該文件,它會以另一個名稱重新出現)。您也不能刪除該目錄,因為它不是空的。您需要找到正在使用此文件的內容。被使用的最可能原因是它是否被某些應用程序打開。執行lsof /media/mount-pointwhere /media/mount-pointis the filesystem mount point 並在該目錄中查找打開的文件。

對於外部硬碟,可以通過以下方式解決此問題,

  • 右鍵點擊文件夾並選擇Move to Trash
  • 清空垃圾

即使rm -rf沒有用,它也對我有用。

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