Unix Tip: More on filenames
Two weeks ago, we looked at some tricks for displaying file names which include unprintable characters. Another -- and simpler -- way to do this is to use the -b option available with the ls command on some versions of Unix (e.g., Solaris).
The -b option forces a display of non-printable characters. While this category of characters doesn't include spaces, so it won't help to expose spaces that appear at the ends of file names, it makes characters such
as delete and backspace very easy to identify.
boson> ls -b h\177llo |
In this display, the delete character in the file name that displays as "llo" is shown in octal, making the presence of the character obvious.
Unprintable characters are not the only characters that cause problems when working with files on Unix systems. Other special characters can be just as problematical. Most Unix commands that you type will, for example,
immediately take a hyphen at the beginning of a filename as an indication that you are adding command and will not do what you expect.
Type "rm -oddfile" for example, and you'll see something like this:
boson> rm -oddfile rm: illegal option -- o rm: illegal option -- d rm: illegal option -- d rm: illegal option -- l rm: illegal option -- e usage: rm [-fiRr] file ... boson> ls -oddfile |
This kind of problem is not hard to get around, however. If you preface your filename with a path, for example, the hyphen will no longer be the first character the command encounters and it will accept the filename.
boson> more ./-badname Be informed. The most effective lobbyist is one who is well informed about both the issues to be discussed and the member of the legislature with whom he or she is meeting. It is very important that you know quite a bit about the target's voting record and background. It also helps to be familiar with other constituent concerns within the district. |
You can also remove or rename the file using the same trick:
boson> rm ./-badname boson> ls boson> |
or:
boson> mv ./-badname goodname |
You might also run into problems when filenames contain exclamation points as shown in this example:
boson> ls file* file!name boson> cat file!name bash: !name: event not found |
You can get around many troublesome special characters by using the escape character:
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
On Twitter now
unix
Powered by Twitter
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













