Linux命令行删除连字符“-”开头文件

11/30/2016

一般情况下如果对一个命令不熟悉,使用“–help”显示帮助信息在命令行程序中是约定俗成的传统。然而当传统碰到没有提供帮助信息的程序时就会出现尴尬。最麻烦的情况是,如果一个命令行程序设定的第一个参数是程序结果输出的文件时(虽然这样违背了管道原则),使用“–help”的结果就是生成了一个以连字符“-”开头的–help文件。

此时通常第一反映是删除这个文件

时却会发现此命令实际上显示了rm命令的帮助。同理以下命令均不能删除–help文件,它们在运行时都会被Shell转换成“rm –help”。

Kaijia今天就在这里卡死了会,研究了一下找到了两个删除连字符的正确方法:

或是:

前者命令比较正常,对其他命令都通用。后者实际上是利用了一个小技巧通过禁止了rm继续读取参数,这样使得rm不再认为“–help”是一个参数而是一个文件。

当然,除开在命令行下执行的方法,如果是在本地界面,最方便的还是用文件管理器直接删除。Filezilla等FTP/SFTP客户端也可以直接删除这类文件。