问题描述
我有这个空目录,但我不断收到以下错误消息:
Cannot remove test: Directory not empty
我知道这个问题已被多次询问,但没有一个帮助过。
我试过ls -la
以确保没有隐藏文件,似乎没有:
我试过sudo rmdir test
以及sudo rm -rf test
,我只是不知道出了什么问题。
我读到它可能是文件系统的一个问题,但我不知道如何解决这个问题。
最佳解决办法
我在外部硬盘上遇到了同样的问题,我尝试了很多使用命令行的方法,但每次都失败了。这对我有用:
-
右键单击文件夹
-
移到废纸篓
-
清空垃圾桶
是的,这很愚蠢,但它对我有用(我真的不知道如何以及为什么,但该死的文件夹不再存在)
次佳解决办法
我已经安装了10 + ubuntu双系统。两个系统共享Windows paritition。
最近,我也遇到了无法删除ubuntu下这些分区中的空文件夹。我无法找到解决方案来解决它在linux下。
但是,在我切换到Windows后,运行
chkdsk
通过cmd
获取目标磁盘。签出了一些错误。然后我跑了
chkdsk /F
修复磁盘错误。
完成后,我现在可以删除这些文件夹。
第三种解决办法
您可以通过键入sudo rm -rf {dir_name}
来删除它。该目录可能已设置为read-only权限。我希望给定的命令可以删除该文件夹。
第四种办法
我有同样的问题无法删除目录,因为它不是空的。
这一系列的操作对我有用。
-
从命令行开始
sudo rmdir --ignore-fail-on-non-empty folder-name-to-be-deleted
以上命令有助于ubuntu忽略目录不为空。
-
然后只需转到文件夹和Shift + Del。就是这样。
第五种办法
GUI解决方案
-
移动或切割&将文件夹粘贴到垃圾箱文件夹
-
清空垃圾
它完成了。
命令行解决方案
sudo mv folder_error/ .local/share/Trash
你可以用trash-cli清除:trash-empty或
sudo rm -fr ~/.local/share/Trash/*
第六种办法
如果目录是使用CIFS(aka samba)挂载的文件系统的一部分,并且它包含一个损坏的符号链接的文件,则ls
无法提及该文件。 (我在运行14.04.2 LTS的CIFS客户端和运行12.04.5 LTS的服务器上观察到此错误。)
所以目录不是空的,但是(通过CIFS)你无法看到它。该文件只能被托管该文件系统的文件服务器上运行的命令看到,因此只能被删除。
第七种办法
如果您使用的是btrfs,则它可能是一个带有non-zero i_size的空目录。你可以检查是否是这种情况:
stat -c %s test
btrfs中空文件夹的i_size应该为零。就我而言,我用~/.config/chromium/Default
获得6160。
建议的解决方案是卸载文件系统,运行btrfs check
以确认问题并检查其他有问题的目录,最后运行btrfs check --repair
进行修复。但是,此操作存在风险,因此最好先备份文件。
资料来源:Btrfs Problem FAQ