The fields are given in standard refer(1) format.
Like a Unix greybeard distilled into a series of articles. Among the most hyperlinked book I've seen, this book is filled with hundreds of useful tips and, perhaps most interestingly, Unix culture. It's only marginally successful as a reference manual or as a teaching aid as it focuses on the useful-but-obscure aspects of Unix. Where it truly excels is in steeping the reader in ``How do I''-style Unix lore until it comes out of their pores.
Reviewed by Tillman Hodgson.
Why the reviewer chose this book
I admit that I jumped at the chance to review Unix Power Tools (3rd edition).
I'm the proud owner of a well-worn and sticky-note-covered copy of the 2nd edition which I refuse to lend out for fear it might be lost. From that book I learned what a zombie process is (and why you can't kill it). I discovered that ``fast grep'' isn't and text terminals are more complicated than they seem. And I found out how to empty a full /dev/null (only for emergencies, of course ;-) ).
What's it about?
In a way, I can't help but compare the new edition of Unix Power Tools to it's previous incarnation. The original is considered a classic of Unix philosophy, leaving some big shoes for the edition to fill.
The shortest description for the book that I could come up with is that it is ``a combination of a Unix FAQ and a semi-structured distillation from a user groups mailing list''. Unix Power Tools is definitely aimed at the end-user rather than the system administrator, and at the command-line user specifically. It's like a very active Wiki translated to paper form.
The book is roughly organized into topics, with one topic per chapter. The individual ``power tools'' (tips, really) appear as semi-random articles within the topics. The average article length is perhaps half a page, and the majority are titled appropriately, making it easy to guess what the article discusses. There is very little transitional material, making for a very information-dense read.
According to the preface, over half the articles have been revised and a few new topics (Perl and Python) were added. The biggest change that I noticed is new focus on open source versions of Unix (such as FreeBSD and Linux) that have become common since the 2nd edition. The tips for historic relics have been minimized and the more modern tools (such as the GNU tool set) has been emphasized.
Unix Power Tools is very command-line orientated, though the 3rd edition has added some coverage X (including X resources, an obscure but very useful topic). The command-line tools covered have been updated to reflect modern Unixen, and now include:
- Coverage of FreeBSD and Linux
- New shells, zsh, bash and ksh have been added to the original sh and csh (this touches on almost every tip)
- Revision control tips are now RCS and CVS rather than RCS/SCCS
- Tips for Samba have made an appearance
- A section on hardware (via the dmesg tool and the /proc interface)
- A section on Perl and a section on Python
Like previous editions, coverage of any particular topic seemed somewhat spotty. Within the topic of backups, for instance, tar was covered extensively and cpio was lightly touched on while dump/restore was completely ignored. Within the topic of software installation, Debian dselect and apt-get was covered in detail while RPM, the FreeBSD ports tree and many other packaging systems were glossed over.
But where else can you find out what an inode is, how to write a man page, an how to find stale symbolic links in an approachable and easily readable format?
Look, feel and tone
The intended audience of Unix Power Tools is very similar to other O'Reilly books. It seems to be targetted at a reader who is seeking ``solid mastery but not guru-hood'', and it does a minimum amount of hand-holding. There's an assumption that the reader is already familiar with Unix basics, though there is a brief ``Basic Unix environment'' chapter. It avoids being too dry but suffers (deliberately, perhaps) from a lack of organization. A summarized version converted into a page-a-day calender would be wonderful and in keeping with it's spirit.
The book has a personal touch to it, like reading a newsgroup. It seems as if the authors are replying to an email you've sent them. This is one of the biggest appeals of the book for me, as I find it much easy to read than the standard ``engineering manual'' approach other Unix books tend to take. Some of the articles had a lot of ``cool'' factor, and there was the odd bit of Unix culture and jokes scattered throughout the book.
Visually, the book is mildly updated from the 2nd edition. Some of the things I noticed include:
- It's about 50 pages longer - 1116 pages in all
- The serif font used for the body text is little more modern and a touch smaller
- The titles, sub-titles and margin notes are no longer italicized
- The courier font used for code examples is smaller, less bolded and mroe distinct from the body text
- The chapter headings are nearer to the outside margin (and thus are easier to see)
- The page corners on the top are set off with a shaded box, making it easier to see the dictionary-style article numbering
I also noticed a few screenshots of xterms running in a GUI (usually Mac OS X), which was somewhat ironic.
The changes are minor, but they make the book more pleasant to read and a touch easier on the eyes.
How effective is it?
Unix Power Tools has the reputation of a classic and, within it's niche, it lives up to that.
Note that Unix ages amazingly well, and this new edition doesn't obsolete the previous editions, though it does improve on them.
Unlike a typical O'reilly book, with Unix Power Tools the phrase ``depth of coverage'' applies but in a different way. This book is a tome of useful Unix trivia. When used as intended, it's a very effective way to pick up the tips and tricks that make Unix greybeards seem almost magical at the keyboard. When used as a reference manual, it's almost-but-not-quite a stinker.
I learned a lot from the 2nd edition of this book, and I'd be surprised if there wasn't something new and interesting in here for anyone, regarddless of skill level. To get good value out of the book, the reader should already have a fair amount of Unix technical experience. This does not make a good first Unix book, and probably works best if you have other reference manuals handy with which to follow up.
It can be maddening to try and find something that you remember seeing ``in there somewhere'', and it can be a series of ``Aha!'' experiences. The reader's approach is critical :-).