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
Esther Schindler
If the comments are ugly, the code is ugly
claird
SVG a graphics format for 21st century
pasmith
Take Chrome OS for a test spin
Sandra Henry-Stocker
Solaris Tip: Have Your Files Changed Since Installation?
jfruh
Android fragments vs. the iPhone monolith
mikelgan
What Gizmodo missed about the Pro WX Wireless USB disk drive
Where Google Chrome security fails: the password
I heard mention that the Chrome OS will have some sort of encryption available a la bitlocker. If it's possible to encrypt personal data using another password or key, then it may have potential for very secure data.... And Ubuntu has an 'encrypt home directory' option, perhaps google should follow suit.
- Dann
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.













