我意外创建了一个名为??q:q 的文件并且无法删除它。
rm '??q:q'
或rm '\?\?q\:q'
(逃避?)说No such file or directory
另一件有趣的事情是:在ls
它显示的名称为??q:q
。但是当我输入时,rm <tab><tab>
它显示^?^?q:q
(我也尝试用这个名字删除它)
答案1
rm
有一个--
选项,可以rm
将这两个破折号后面的所有内容视为文件名。
因此,使用
rm -- ??q:q
应该删除该文件。
在 Ubuntu 13.10 上使用 bash 4.2.45 进行测试。
答案2
如果 drc 的答案不起作用,则尝试通过 inode 编号删除它:
使用 查找文件的 inode 编号
ls -i
,例如 123456消除:
find . -inum 123456 -exec rm -i {} \;