删除以"-"开头的文件

不小心操作建立了一个-help开头的文件
> rm -help

rm不能直接删除-help文件,因为在shell中 '-'字符代表命令选项的前缀,是特殊字符。在查看 rm 的 man 手册时有这么一行提示:To remove a file whose name starts with a "-", for example "-foo", use one of these commands。

rm -- -foo    # "--" 为命令选项和命令参数的定界符,"--"后的所有内容被视为命令参数
rm ./-foo     # "./" 为当前目录

也就是说,如果要删除一个文件 -foo ,用一般的 rm 命令是完成不了的。rm -foo 、 rm \-foo 、 rm "-foo" 、rm "\-foo"、 rm '-foo' …… 都无法将此文件删除,只能通过 rm -- -foo 或者 rm ./-foo 的方式删除。

同样此方法对于其它命令都是通用的:

touch -- -c   # 将生成 -c 文件
file  -- -c   # 将判断 -c 文件的类型

你可能感兴趣的:(Shell,Unix/Linux)