我有一台机器,其中的目录似乎已损坏。的输出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
然后该目录看起来又正常了,我可以像往常一样删除它。