This question already has an answer here:
-
How to remove files starting with double hyphen?
7 answers
I have a script that creates files and sometimes they end up having 2 dashes at the beginning, is there any way to delete them mv doesn't work either
Here is the error I am getting
$ 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
The usual trick is
rm ./--1355509766.jpg
Update: here's what man rm
has to say about this:
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Use --
to separate options from parameters.
$ rm -- --1355509766.jpg
This works with other commands too. For example:
$ touch -- -v # create a file called -v
$ grep foo -- -v # grep for "foo" in file called -v
Try file name with path:
$ rm ./--file.name
Example:
$ echo dgag > --test.txt
$ ls
--test.txt
$ rm ./--test.txt
$ ls