我无法删除名为的文件-r
,rm -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