rm command problem

DAve dave.list at pixelhammer.com
Fri Oct 20 17:11:20 UTC 2006

Efren Bravo wrote:
> Hi,
> Accidentally I've created a file called -exclude
> and now I cann't delete it.
> I tried with:
> rm -exclude and rm *exclude but it returns this:
> rm: illegal option -- -
> usage: rm [-f | -i] [-dIPRrvW] file ...
>        unlink file
> How can I delete it?

You have probably found that anything you try errors because the shell 
thinks -e is a switch. The easiest way is to find the files inode number 
and delete the file using that.

director# ls -i
107008 .bash_history    107760 .login           107759 .mail_aliases 
107764 .profile         107765 .shrc
107758 .cshrc           107761 .login_conf      107762 .mailrc 
107763 .rhosts

then use find to remove the file.

director# find . -inum 107763 -exec rm -i {} \;
remove ./.rhosts? y

This works for all manner of funky file names. I had done that many 
times before, generally from not reading man pages and passing switches 
to programs that didn't expect it, or by piping commands incorrectly.

Three years now I've asked Google why they don't have a
logo change for Memorial Day. Why do they choose to do logos
for other non-international holidays, but nothing for

Maybe they forgot who made that choice possible.

More information about the freebsd-questions mailing list