Answers:
其他一些方法包括:
转义特殊字符:
[〜] $ rm \“ la \ *
使用find命令,仅搜索当前目录。find命令可以搜索inode编号,并具有方便的-delete
开关:
[〜] $ ls -i 7404301“ la * [〜] $ find。-maxdepth 1 -f型-inum 7404301 ./"la* [〜] $ find。-maxdepth 1 -f型-inum 7404301-删除 [〜] $ ls -i [〜] $
-xdev
选项限制搜索,因为其他已挂载的文件系统可能还具有不相关的文件,且具有相同的inode编号。
也许我想念一些东西,但是...
rm '"la*'
无论如何,文件名没有索引节点,文件没有。尝试删除文件而不删除所有指向该文件的文件名将损坏您的文件系统。
如果您确实想这样做,并且您的用例看起来根本不需要,那么您可以尝试使用文件系统调试工具。如果您愿意失去一切,那就是。
例如,对于ext2 / 3/4,该debugfs
命令具有“ kill_file”选项,该选项似乎带有一个inode。如其他答复中所述,这将损坏您的文件系统,因为将存在指向不存在的文件的目录条目。fsck
之后运行可能可以修复此问题。您不太可能在已挂载的文件系统上执行此操作。
但我强烈建议您使用适当的转义/引用,rm
并使用前面的响应中提到的常规命令删除此类文件-并rm -i
在处理包含*等通配符的文件名时使用额外的安全性
虽然我强烈建议您使用“转义特殊字符”方法,但是clri
当您真正想要可修复的文件系统损坏时,总会使用该命令。
clri
通常仅在Oracle系统(例如SunOS)上存在。