要检查的正常事项:

要检查的正常事项:
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

我尝试使用以下命令从终端删除这些文件夹:

rm -r

答案1

你试过吗sudo rm -r?有哪些类型的文件?你也可以先删除所有文件,然后删除文件夹。这是额外的工作,但有时为了完成工作还是值得的。

sudo用于超级用户操作。

答案2

尝试cd进入目录,然后使用 删除所有文件rm -rf *。然后尝试退出目录并使用rmdir删除目录。

答案3

我在 btrfs 文件系统上的一个文件夹中遇到了这个问题。检查挂载点和 lsof 是正常现象。在我的例子中,这是由一个旧错误导致的损坏,已修复:

要检查的正常事项:

  • lsof +D <路径>- 这会s高的oFiles。您无法删除包含打开文件的文件夹,尽管这通常也会导致略有不同的错误:“设备或资源繁忙”。请注意,如果您省略“+D <path>”,lsof 将显示所有文件系统上所有文件夹的列表 - 这会浪费时间。;)
  • :这将向您显示当前挂载的文件系统。您无法删除当前挂载的挂载点或其父文件夹。
  • btrfs 子列表 <路径>:与挂载点类似,您无法删除 btrfs 子卷,除非使用 btrfs 特定命令:btrfs 子卷删除 <路径>

腐败解决方法

如果损坏无法轻易修复,基本解决方法是备份、格式化文件系统,然后恢复(保留坏数据)。根据文件系统中的数据量,这可能是一件苦差事。:-/

在我的情况下,问题文件夹位于子卷内,因此我可以执行上述操作,但只需删除子卷而不是整个文件系统。我备份了我的数据并删除了子卷:btrfs sub del <子卷路径>。然后我能够将其恢复到一个新的子卷中,而省去问题文件夹。

i_size 损坏

我的情况被认定是腐败i_size,其中它不为零。Btrfs 使用 i_size 来判断文件夹是否为空。要检查这一点,请运行:

stat -c %s <foldername>

btrfs 中空文件夹的 i_size 应为零。在 ext 中,它通常为 4k。

相关链接:

https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory

答案4

转到要删除的文件夹之前的文件夹,然后执行此命令,将文件夹名称更改为文件夹名称:rm -rf foldername

R 表示递归,f 表示力量。

相关内容