我的LAMP网络服务器呈现如下的备份文件:
!index.php
!~index.php
bak.index.php
Copy%20of%20index.php
我尝试使用rm
删除,但找不到文件。
这是否与bash或vim有关?如何解决这个问题?
答案 0 :(得分:2)
转义字符(使用反斜杠),如下所示:
[ 09:55 jon@hozbox.com ~/t ]$ ll
total 0
-rw-r--r-- 1 jon people 0 Nov 27 09:55 !abc.html
-rw-r--r-- 1 jon people 0 Nov 27 09:55 ~qwerty.php
[ 09:55 jon@hozbox.com ~/t ]$ rm -v \!abc.html \~qwerty.php
removed '!abc.html'
removed '~qwerty.php'
[ 09:56 jon@hozbox.com ~/t ]$ ll
total 0
[ 09:56 jon@hozbox.com ~/t ]$
答案 1 :(得分:0)
除了chown建议的方法之外,另一种方法是在""
内写下文件名。
示例:
rm "!abc.html" "~qwerty.php"
答案 2 :(得分:0)
如果您不喜欢角色!
的特殊处理,请在您的shell中使用set +H
来改变历史记录。有关详细信息,请参阅man bash中的“HISTORY EXPANSION”部分。
有趣的是,我可以删除以~
开头的文件,而不必转义文件名。