如何删除 Bash 中命名无效的文件?

How to remove an invalidly-named file in Bash?

我找到了一个名为“.|rst412slp10lad10_noTopo.png”的文件,我真的很想删除它。我该怎么办?

我尝试使用 ls -al 来获取文件的信息然后我得到了这个:

ls: cannot access '.|rst412slp10lad10_noTopo.png': No such file or directory
total 0
drwxrwxrwx 1 jinshengye jinshengye 4096 Jun  5 17:10 .
drwxrwxrwx 1 jinshengye jinshengye 4096 Jun  5 16:58 ..
-????????? ? ?          ?             ?            ? .|rst412slp10lad10_noTopo.png

我该怎么办?

找到 inode 编号

ls -li

并用

删除它
find . -inum 1234 -delete

好的,你可以尝试用引号删除

rm ".|rst412slp10lad10_noTopo.png"

但这可能行不通,您可能需要设置权限和/或重新启动(或更多)...看看这个:

https://serverfault.com/questions/65616/question-marks-showing-in-ls-of-directory-io-errors-too?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa