如何在Linux中删除名称中带有选项字符的文件?

cgp*_*cgp 4 command-line-interface

我的-Tlinux 机器上有一个文件,我想我可以做

 rm "-T"
Run Code Online (Sandbox Code Playgroud)

或者

 rm "\-T"
Run Code Online (Sandbox Code Playgroud)

或者

 rm \-T
Run Code Online (Sandbox Code Playgroud)

或者

 rm *T
Run Code Online (Sandbox Code Playgroud)

唉,我已经用完了简单的技巧(或者我在误用它们)。

我不断收到错误消息:

rm: invalid option -- T
Run Code Online (Sandbox Code Playgroud)

我很确定我可以用一些 FTP 客户端删除这个文件,但这感觉像是在作弊。有人可以指出我正确的方向吗?

Tha*_*Guy 19

许多 *nix 命令都有一个 '--' 选项,这意味着“这是选项结束的地方,从这里开始,任何看起来像选项的东西都不是”。

rm -- -filename

不是 100% 确定 rm 是否支持,我有点生疏。


Ala*_*n H 15

使用“--”选项告诉 rm 没有更多选项了。

 rm -- -T
Run Code Online (Sandbox Code Playgroud)

你也可以像这样在文件前面放一个“./”:

 rm ./-T
Run Code Online (Sandbox Code Playgroud)

作为第三种选择,您通常可以使用图形文件查看器并将其拖到垃圾箱中。


Bre*_*nt 7

尝试使用 ./ 为您的文件添加前缀,我认为这有效。