如何在 Linux 上删除损坏的目录

如何在 Linux 上删除损坏的目录

我有一台机器,其中的目录似乎已损坏。的输出ls -lah类似于:

???????????  ? ?        ?           ?            ? dir_name

这曾经是 SSD 上 CentOS 7 VM 中的有效目录。我不知道发生了什么,但现在我只想删除它,但这似乎不可能:

$sudo rm -rf dir_name 
rm: cannot remove ‘dir_name’: Is a directory

并且stat也无法读取:

stat dir_name
stat: cannot stat ‘dir_name’: No such device

安全删除该目录的最简单方法是什么?

答案1

您无法删除损坏的目录。

您必须umount文件系统并执行fsck

按照 man 8 fsck

fsck - 检查并修复 Linux 文件系统

答案2

尽管给出了通用答案,但只是想指出,在我的特定情况下,该目录也用作 SMB (cifs) 挂载点,我可以使用命令看到它mount。所以解决方案就是简单地执行以下操作:

sudo umount /home/user/dir_name

然后该目录看起来又正常了,我可以像往常一样删除它。

相关内容