奇怪的是我无法" rm -rf str \\ escape.rs" 即使我只是简单地把" rm -rf * .rs"没有什么变化 该文件就在那里..
此文件来自cm10.2以及cm12。但这很奇怪..任何想法都会受到赞赏!
更新 所以,如果我这样做:
rm 'str\\escape.rs'
它会抛出错误
rm: cannot remove `str\\\\escape.rs': No such file or directory
UPDATE2: 许可是
-rwxrwx--- 0 myu myu 53 May 21 00:17 str\\escape.rs
我尝试过类似" rm"然后按Tab键(因为它是唯一剩下的文件..),它给出了
rm str\\\\escape.rs
等删除包含此文件的目录" rm -rf P_str_escape"。它要么说
rm: cannot remove `str\\\\escape.rs': No such file or directory
或
rm: cannot remove `P_str_escape': Directory not empty
答案 0 :(得分:0)
你需要逃避更多斜杠:
rm -rf str\\\\escape.rs
编辑:我刚试过这个,它运行正常:
$ ls
str\\escape.rs
$ rm str\\\\escape.rs
$ ls
$
答案 1 :(得分:0)
至少有两个选择:
用单引号取文件名,以避免bash替换:
rm 'str\\escape.rs'
证据:
$ touch 'str\\escape.rs'
$ ls 'str\\escape.rs'
str\\escape.rs
$ rm 'str\\escape.rs'
$ ls 'str\\escape.rs'
str\\escape.rs: No such file or directory
只是逃避斜杠:
rm str\\\\escape.rs
有关转义如何工作的更多信息: http://www.tldp.org/LDP/abs/html/escapingsection.html