在 Linux 系统中删除损坏的文件

Den*_*ler 6 filesystems hardware ext2 files

如何删除损坏的文件?

在 Linux(基于 Fedora)中,当我输入:ls -l我得到

drwxr-xr-x.  2 dmiller3 dmiller3     4096 Jul 26 13:57 SomeFile
??????????   ? ? ?                   4096 Jul 26 13:57 CorruptedFile  
Run Code Online (Sandbox Code Playgroud)

我不能用这个 CorruptedFile 做任何事情。我不能在删除或任何东西中使用它。它是整个系统中唯一一个这样的文件。这是什么原因造成的,我该如何去除它?

文件系统是ext2。

xen*_*ide 6

您可能在硬重置期间一直在写入文件,或者您的硬盘驱动器可能有问题。afsck应该修复它(你必须让umountfs 来做到这一点)。我会检查dmesgsmartctl -a /dev/hdx(后者是 smartmontools 的一部分)以查看您的 HD 是否报告任何错误。我也会badblocks在分区上运行一个非破坏性的。

您还应该问问自己为什么要运行 ext2,因为日志往往有助于解决此类问题。