Dealing With Strange Filenames
Occasionally, usually due to an earlier typo, you end up with files with peculiar names. Usually these are easily removable, but if you have a file with a name starting - (e.g., -file, or even -f), the commandline:
rm -file |
You might try using a shell escape:
rm \-file |
There are two ways around this. The first one is to use --, which is used by many commands to indicate the end of the options. If you'd created a directory called -test and wanted to remove that directory and everything in it, this command line would work:
rm -rf -- -test |
The -rf sets actual options; the -- signals that we're done with options, and that everything after this should be treated as something to be passed in to the command. In this case, that's the name of the directory to get rid of. Test it out like this:
mkdir -- -test ls -l -- -test rm -rf -- -test |
The other option is to specify the directory of the file. To remove the file -file in your current directory, use:
rm ./-file |
This will work with other commands as well. To test it out, try:
touch ./-file ls -l ./-file rm ./-file |
Now, when you discover strange and peculiar files lurking in your directories, you can clear them up without any difficulty.
Juliet Kemp has been messing around with Linux systems, for financial reward and otherwise, for about a decade. She is also the author of "Linux System Administration Recipes: A Problem-Solution Approach" (Apress, 2009).
- 1 Linux Server Management Nightmare: Attack of the Killer Penguins
- 2 Top 10 Open-Source Server Technologies You Need to Know
- 3 10 Coolest Features in Windows Server 2008
- 4 Getting Started With EFT Server -- A More Secure FTP Server Option
- 5 Making Linux Server Directories More Readable, Add to Perl's @INC Array



Windows Server 2008 R2 provides enhanced management control over resources across the enterprise. Downlaod this PDF to learn more.