Linux 中是否存在无法删除的文件?

Linux 中是否存在无法删除的文件?

我以前从未见过这种情况(*nix 已经 20 年了)。我一直在尝试保存我的硬盘(详细信息请咨询),并且非常成功,只是有一些文件看起来像这样:

$ ls -al
$ ?????????? ?    ?       ?      ? blah.txt

该文件不受 rm、rm -f、shred、mv、chown、chmod 或我能想到的任何其他命令的影响。

例子

# whoami
root

# rm -f blah.txt
rm: cannot remove `blah.txt': permission denied

# ls -la blah.txt
?????????? ?    ?       ?      ? blah.txt

对于该文件上的任何命令来说基本上都是相同的。

有任何想法吗?

答案1

您能向我们展示“lsattr blah.txt”的输出吗?这会告诉我们此文件设置了哪些特殊标志。

您还可以检查 dmesg(内核调试消息日志)中是否有任何新内容(运行 dmesg 两次,一次在您尝试删除文件之前,一次之后,看看日志底部是否出现了任何新内容)。

文件系统损坏消息示例如下:

[86777.332361] EXT4-fs (dm-0): error count: 436
[86777.332365] EXT4-fs (dm-0): initial error at 1290174395: ext4_mb_generate_buddy:726
[86777.332367] EXT4-fs (dm-0): last error at 1292151653: ext4_mb_generate_buddy:726
[86777.332419] EXT4-fs (dm-8): error count: 1406
[86777.332423] EXT4-fs (dm-8): initial error at 1290623933: ext4_mb_generate_buddy:726
[86777.332425] EXT4-fs (dm-8): last error at 1292168399: ext4_mb_generate_buddy:726

它表明自启动以来约 86777 秒(此部分可能不会显示在您的系统中,这取决于内核设置)在我的测试机器上出现了两个与 EXT4 文件系统相关的错误。

答案2

您的文件系统已损坏。fsck 可能会有帮助。

编辑:除非您使用 ReiserFS,在这种情况下 fsck 可能会进一步损坏它...

答案3

chattr +i file使文件完全处于写保护状态,甚至 root 用户也可以。这被称为不可变。要删除或修改,您必须先通过 使其再次可变chattr -i file

相关内容