For
example, one of the more confusing aspects of the Unix
command line for beginners is piping. He writes “A
mnemonic for remembering which is which is to remember
that, just as in English, Unix works from left to right,
so a character that points to the left (<) changes input,
whereas a character that points right (>) changes the
output.” In one sentence he clarifies what originally
took me hours to sort out and learn on my own. The book
contains many such places of learning.
Most
of the book focuses on the command line in Unix. As Taylor
points out, these commands work not only in the commercial
versions of Unix, but also in the *nix clones like Linux
and BSD. He often works to include other versions by
writing things like “if you work in this other
shell, you need to type ... instead”. The command
line is the tool which provides users with greater flexibility
and control over the operating system than using a graphical
user interface (GUI). The command line can be intimidating
however, particularly in Unix when there is usually no
confirmation that an action has succeeded. Time and again
Taylor points out what results to expect and how to check
if the desired action has been performed.
Because
Unix has such a great variety of command line tools,
Taylor had to make some choices about what to discuss
in an introductory book. "awk" and "sed" get
a few pages each, emacs one chapter, but vi (the classic
Unix text editor) has two chapters. The book also has
four chapters about shells and shell programming. As
experienced Unix users know, each shell requires at least
one book on its own. Still, his introductions to these
tools are well worth reading. There is also a chapter
about backup including a very practical shell script
for personal backups. The last hour of the twenty-four
hours introduces users to the Gnome GUI environment.
Each
chapter includes a list of key words and some additional
exercises to attempt. There are two appendices called “extra
hours”. One is a what Taylor calls common Unix
questions with answers. While I have never needed to
ask these questions, I understand why others might. The
second appendix is a brief look at the Apache Web Server
including discussion of Common Gateway Interface (CGI),
server-side scripting and the log files. The few pages
in this appendix will not replace one or more of the
good Apache books on the market, but the appendix is
still worthwhile. I am impressed by Taylor's depth of
knowledge and the seeming ease with which he writes.
He communicates clearly and concisely, he seems to anticipate
what the learner's next question might be and what the
next difficulty will be. If I were teaching Unix I would
seriously consider using this book as the course text.
If I were writing an instructional manual I would try
to emulate Taylor's writing style. Recommended.