rm无法删除以 - 开头的文件

fra*_*ras 5 linux bash shell rm

我有一个创建文件的脚本,有时他们最初有2个破折号,有没有办法删除它们mv不起作用

这是我得到的错误

$ ls
 --1355509766.jpg

$ rm --1355509766.jpg 
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
   unlink file

$ rm "--1355509766.jpg"
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
   unlink file
Run Code Online (Sandbox Code Playgroud)

Lev*_*sky 19

通常的伎俩是

rm ./--1355509766.jpg
Run Code Online (Sandbox Code Playgroud)

更新:这里有什么man rm说法:

To  remove a file whose name starts with a '-', for example '-foo', use
one of these commands:

       rm -- -foo

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


dog*_*ane 9

用于--从参数中分离选项.

$ rm -- --1355509766.jpg
Run Code Online (Sandbox Code Playgroud)

这也适用于其他命令.例如:

$ touch -- -v         # create a file called -v
$ grep foo -- -v      # grep for "foo" in file called -v
Run Code Online (Sandbox Code Playgroud)


Ras*_*sim 6

尝试使用路径的文件名:

$ rm ./--file.name
Run Code Online (Sandbox Code Playgroud)

例:

$ echo dgag > --test.txt
$ ls
--test.txt
$ rm ./--test.txt
$ ls
Run Code Online (Sandbox Code Playgroud)