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:
boson> more file\!name Lobbying Tips Lobbying is simply an attempt to persuade someone to accept your point of view by sharing of information and describing effects that particular policies have on the target's constituency. In this document, we share a number of tried and tested tips to help you present your case effectively. |
If you are working with filenames including embedded blanks, you can easily work around any problems by enclosing the filenames in quote marks.
boson> more "odd file" Don't argue. If you find yourself getting into a debate with legislator you are lobbying, back off. Your goal is to present your case, not necessarily to win it. |
Another option is to use the escape character:
boson> more odd\ file Don't argue. If you find yourself getting into a debate with legislator you are lobbying, back off. Your goal is to present your case, not necessarily to win it. |
Stripping file extensions with the basename command
Reassembling very large "split" files
ITworld
Build your tech library with our book giveaways.
Windows PowerShell 2.0 Unleashed
By Tyson Kopczynski, Pete Handley, Marco Shaw; Published by Sams
Windows PowerShell Unleashed will not only give you deep mastery over PowerShell but also a greater understanding of the features being introduced in PowerShell 2.0–and show you how to use it to solve your challenges in your production environment. Enter now!

Ubuntu Server Administration
By Michael Jang; Published by McGraw-Hill Osborne Media
Realize a dynamic, stable, and secure Ubuntu Server environment with expert guidance, tips, and techniques from a Linux professional. Ubuntu Server Administration covers every facet of system management -- from users and file systems to performance tuning and troubleshooting. Enter now!








