如何删除以短划线开头的文件(在Unix模式下)

我不小心在GitBash(一个类似Unix的环境)中创build了一个名为- -l (我完全不知道如何设法做到这一点:)

 Johnny (master #) scipy-tentative-numpy-tutorials $ ls -l total 1 -rw-r--r-- 1 Johnny Administ 956 May 7 16:24 - -l -rw-r--r-- 1 Johnny Administ 562 May 7 16:21 README.md 

我想删除(删除) - -l文件。

我尝试了一些方法,但没有运气。 例如

 rm "- -l" rm "-\ \-l" rm -\ \-l 

这些不起作用。

请如何删除- -l文件?

谢谢!

使用双连字符( -- )来停止标志分析:

 rm -- -\ -l 

另外,你甚至可以使用标签填写:

 rm -- \- # Then press TAB immediately after typing the final - 

这假定这是目录中唯一带有连字符的唯一文件。 Bash足够聪明,可以自动转义文件名中间的空格。

尝试这个:

 rm ./-\ -l 

或这个:

 rm -- -\ -l 

第一个解决方案告诉程序你正在寻找当前目录中的文件,这意味着这个参数不是一个选项。

第二个解决方案使用--告诉程序后面的参数开头-不是选项。