How to delete file with option character in name in Linux?
I've got a file called -T
on my linux box, and, I thought I could do
rm "-T"
or
rm "\-T"
or
rm \-T
or
rm *T
Alas, I've run out of simple tricks (or I'm misuing them).
I keep getting the error message:
rm: invalid option -- T
I'm pretty sure I could delete this file with some FTP client, but that feels like cheating. Can someone point me in the right direction?
A lot of *nix commands have a '--' option, which means "this is where the options end, anything from here onwards that looks like an option, isn't".
rm -- -filename
Not 100% sure if rm supports that, I'm a bit rusty.
Use the "--" option to tell rm that there are no more options coming.
rm -- -T
You can also put a "./" in front of the file like this:
rm ./-T
As a third option, you can often use a graphic file viewer and drag it into the trash.
Try prefixing your file with ./ I think this works.
I just had to try:
gw:~/kana # rm -T
rm: invalid option -- 'T'
Try `rm ./-T' to remove the file `-T'.
Try `rm --help' for more information.
gw:~/kana # rm ./-T
Put the current directory in front of the file name, which will prevent the program from thinking you're passing it a parameter.
$ rm ./-T
-Kevin