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

5

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

18
通常的技巧是:
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

9
使用--来将选项与参数分开。
$ rm -- --1355509766.jpg

这也适用于其他命令。例如:
$ touch -- -v         # create a file called -v
$ grep foo -- -v      # grep for "foo" in file called -v

6
尝试使用带有路径的文件名:
$ rm ./--file.name

例子:

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

是的,这个方法很好用......我有一个以井号 #file_name# 开头的文件名,这就是我删除它的方式 rm ./#file_name# - z atef

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接