Dealing with Odd Filenames on the Commandline

FAIL (the browser should render some flash content, not this).

Download in .ogv format

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Command lineish

JackAcid's picture

Coud just use good old mc...

How to remove files that start with a dash

Troy Roberts's picture

The simplest solution to removing a file beginning with a dash is to append ./ to the file name. So, to remove a file named "-" use: rm ./-

Removing filenames that start with a dash

Gumnos's picture

This does work, but bash's wild-card expansion doesn't do this, so you can get caught by

rm *

where one of the filenames happens to be "-rf".

-gumnos

Bane of filenames -- beginning with a dash

Gumnos's picture

The bane of my filename experiences are filenames that begin with a dash. They choke all sorts of command-line processing. Though many programs allow you to use a double-dash to separate command-line switches from filenames, not all programs support this convention. Little is as cruel as creating a file named "-rf /" and watching somebody try to remove that file...

Dashes suck...

Dan Fekete's picture

Although I haven't dealt with it for a while, how does one deal with starting dashes? Would anyone be so kind as to post a script to find and change them to, say, an underscore?

In my previous experience I would have to change the name in gnome. But on servers with no X, this is a bit difficult.

- files

Anonymous's picture

Dan I feel your pain. Does this provide relief: cd ..; rm subdir/-*; cd -

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Webcast
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up and watch now

Sponsored by Skybot