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

时间:2012-12-17 16:09:37

标签: linux bash shell rm

我有一个创建文件的脚本,有时他们最终会在开头有两个破折号。有没有办法删除它们? 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

3 个答案:

答案 0 :(得分:19)

通常的伎俩是

rm ./--1355509766.jpg

更新:这是man rm对此有何评论:

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

       rm -- -foo

       rm ./-foo

答案 1 :(得分:9)

使用--将参数与参数分开。

$ rm -- --1355509766.jpg

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

$ touch -- -v         # create a file called -v
$ grep foo -- -v      # grep for "foo" in file called -v

答案 2 :(得分:6)

尝试使用路径的文件名:

$ rm ./--file.name

示例:

$ echo dgag > --test.txt
$ ls
--test.txt
$ rm ./--test.txt
$ ls