在Linux中使用“-r”删除文件名

在Linux中使用“-r”删除文件名

我无法删除名为的文件-rrm -rf -r 有什么特殊技巧可以删除它吗?

答案1

在 Linux 或类 Unix 系统中,您可能会遇到带有特殊字符的文件名,例如:

-
--
;
&
$
?
*
White spaces, backslashes and more.

问题和解决方案

提示 1:尝试在文件名开头使用 ./

删除名为“-file”的文件的语法如下:

$ rm -v ./-文件

删除了‘./-file’

提示 #2:尝试在文件名开头使用 --

A -- signals the end of options and disables further option processing     by   shell. 

Any arguments after the -- are treated as filenames and arguments.

$ rm ---文件

$ rm -- --文件

$ rm -- '@#$%^&file'

$ rmdir --'--dirnameHere'

答案2

rm手册页中所述:

要删除名称以“-”开头的文件(例如“-foo”),请使用以下命令之一:

      rm -- -foo
      rm ./-foo

因此,就你的情况而言:

rm -- -r

或者

rm ./-r

相关内容