删除文件名中含有特殊字符的文件后,它仍然列出

删除文件名中含有特殊字符的文件后,它仍然列出

我使用 Nautilus 将文件名中含有特殊字符的文件放入垃圾箱,从而删除了该文件。但是,使用“ls -la”仍会列出该文件,如下所示:

-????????? ? ? ? ? ? “带有特殊字符的文件名”

我已经尝试使用“rm”将其删除。然后它给出:

rm:无法删除“带有特殊字符的文件名”:没有这样的文件或目录

我怎样才能将其删除,以便它现在真正被删除并且不会显示在“ls”中?

答案1

您可以根据它的 inode 号将其删除。inode 是文件系统用来查找文件信息(权限等)的索引号(而不是文件名)。在终端中,在有问题的文件的目录中,运行以下命令,您ls -i将看到类似以下内容:

$ ls -i
7995865 a  7995866 b  7995867 c

然后要删除它,你可以使用find,和rm

$ find . -inum 7995866 -exec rm -f {} \;
$ ls -i
7995865 a  7995867 c

相关内容