如何删除以破折号开头的文件(在类 Unix 模式下)
How to remove a file beginning with a dash (in Unix like mode)
我不小心在 GitBash(类 Unix 环境)中创建了一个名为 - -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 -- -\ -l
第一个解决方案告诉程序您正在当前目录中查找文件,因此暗示参数不是一个选项。
第二个解决方案使用 --
告诉程序以 -
开头的后续参数不是选项。
使用双连字符 (--
) 停止标志解析:
rm -- -\ -l
或者,您甚至可以使用制表符完成:
rm -- \- # Then press TAB immediately after typing the final -
这假定这是目录中唯一带有前导连字符的文件。 Bash 足够聪明,可以自动转义文件名中间的 space。
我不小心在 GitBash(类 Unix 环境)中创建了一个名为 - -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 -- -\ -l
第一个解决方案告诉程序您正在当前目录中查找文件,因此暗示参数不是一个选项。
第二个解决方案使用 --
告诉程序以 -
开头的后续参数不是选项。
使用双连字符 (--
) 停止标志解析:
rm -- -\ -l
或者,您甚至可以使用制表符完成:
rm -- \- # Then press TAB immediately after typing the final -
这假定这是目录中唯一带有前导连字符的文件。 Bash 足够聪明,可以自动转义文件名中间的 space。