删除 Linux 系统中损坏的文件

删除 Linux 系统中损坏的文件

如何删除损坏的文件?

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

drwxr-xr-x.  2 dmiller3 dmiller3     4096 Jul 26 13:57 SomeFile
??????????   ? ? ?                   4096 Jul 26 13:57 CorruptedFile  

我无法对这个损坏的文件做任何事情。我不能在删除或任何其他操作中使用它。这是整个系统中唯一一个这样的文件。造成这种情况的原因是什么?如何消除它?

文件系统是ext2。

答案1

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

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

答案2

我见过的文件系统的一些有趣的问题是:

  • 仅在明确要求时才显示的文件:“ls file”会显示它,但普通的“ls”则不会。发生的情况是下一个文件的名称中包含“Go up a line”的转义序列
  • 具有不可能权限/类型的文件:通过 fsck(8) 修复,或者只是用 rm(1) 吹走文件
  • 非常深的目录树,由不法分子创建目录并循环进入它们创建:必须编写一个程序,一直到最后,然后备份循环中删除目录。

相关内容