删除名为“-d”的文件

phi*_*ogg 18 unix rm

可能的重复项:
如何从 bash 中删除名为“-p”的文件?
如何在 linux 上删除具有此名称的文件:-]???????q
我需要使用什么命令来删除名为“-rf”的文件?

我不小心创建了一个名为:-d 的文件

我试过使用单引号和双引号以及通配符来删除它,但每次“rm”都给我这个错误:

警告:--directory (-d) 选项未记录且无操作。使用 -rf 删除非空目录 rm: missing operation 试试 `rm --help' 了解更多信息。

我如何摆脱文件?

Mat*_*iva 44

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

--意思是“选项结束”。在此之后的命令行上的任何进一步内容都被解释为参数(即您的情况下的文件名),而不是选项。


bma*_*ies 28

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

是你问题的答案。


小智 8

在这种特定情况下,使用“--”是迄今为止最简单的。但是,如果您偶然发现具有不可打印控制字符的文件,则更通用的解决方案是通过 inode 引用该文件:

% ls -ali aFileWithFunnyCharacters
      9215 -rw-r-----   1 chris  chris         0 Sep  8 16:55 aFileWithFunnyCharacters
% find . -xdev -inum 9215 -exec rm {} \;
% ls -ali aFileWithFunnyCharacters
aFileWithFunnyCharacters: No such file or directory
Run Code Online (Sandbox Code Playgroud)