It seems
entirely possible that at some point in my many articles
on Unix, I've missed the boat and failed to answer a
question or two. Perhaps I even raised a question and
glossed over it, leaving you, poor reader, mystified.
I decided to devote this article to resources where
you can find the answers to many more questions than I
will ever have time to cover in articles.
Man pages
The most comprehensive
source of Unix information is, of course, the Unix man
pages. Finding these pages online isn't difficult.
Versions exist at the National
Technical University of Athens (Greece, not
Georgia), Linux
Hong Kong, Linux
Journal, and SolarisGuide.com.
A hypertext version is available at http://www.freebsd.org/.
My first reaction to online man pages was: why? I can
always type:
man doodah
and get the needed reference for the doodah
command.
But there are two good reasons to use the online
pages. First, the hypertext versions of man pages are
very convenient. It's very easy to hop from one entry to
the next with a click.
The second reason is even more important: having data
available when you need it. I'm currently working for a
very large corporation that has several Unix boxes. None
of those boxes have the man pages loaded. I've inquired
about that several times and cannot find anyone with an
answer. The system administrators reply that they've
never had man pages and don't know who to ask to get
approval to add them.
I'm expected to develop several shell scripts and C++
programs on those boxes, and I've learned to bless the
availability of the online man pages, although they're
not the friendliest approach to Unix. They're notorious
for being the product of cryptic geekdom at its worst.
Aside from being obnoxious, they rarely provide
examples. Or they provide examples that are completely
useless.
I remember once trying to learn a Unix tool called
yacc. Without getting too technical, yacc is a
specialized language generator that lets you specify the
a programming language's grammar using a set of grammar
symbols. Yacc is itself a language of sorts, intended as
a tool to help a developer create a compiler for new or
existing languages.
The yacc utility is very tough to understand and, as
I waded through the man page, I began to feel that I
desperately needed to see some examples of the yacc
language at work.
The man page writer did provide an example. He
provided a complete and lengthy listing of the yacc
grammar specification for the language itself. At that
point, my geek alarm went off. I threw up my hands and
went out and bought the dragon book on compiler
construction, in which yacc was very nicely explained.
How-to documents
The second
important source of information on Unix is how-to
information. Anything that makes sense of the man pages
and actually discusses examples of using the Unix
commands has my blessing. How-tos are also very good at
putting several commands together and explaining how to
use them. For example, probably one or two dozen
commands are used to set up and control a network. If
you read all of the man pages entries for those
commands, you still wouldn't know how to set up a
network. But a how-to can explain it.
How-to documents vary enormously, but you can find
several just by searching for Unix and
how-to (or howto). I've listed some of
the more interesting ones in the resources below.
FAQs
FAQ documents are
collections of frequently asked questions, usually
compiled by a user group or vendor who's interested in
providing answers to user questions. FAQ listings
originally came about as a defense mechanism: computer
literati were often inundated with questions, many of
which were repeated. The members of the user group in
question would collaborate on a FAQ listing, then inform
those who want a question answered that they must first
review the FAQ document.
FAQ listings are so useful that they themselves have
been collected into Internet sites such as http://www.faqs.org/faqs/,
which offers links to other FAQ documents, including the
Usenet FAQ listings. Among these, of course, are the
Unix FAQ documents and FAQ listings broken up by Usenet
groups such as comp.unix.bsd, comp.unix.misc,
comp.unix.shell, and comp.unix.solaris.
FAQ entries tend to be shorter than a how-to or a man
page and include everything from the useful (How do I
remove a file with punctuation characters in its name?)
to the arcane (What does awk
stand for?).
Other good FAQ entries are available at the Amsterdam
Science and Technology Center, FreeBSD, and OpenBSD;
they are listed at the end of this article.
Those listings only scratch the surface of various
Unix resources, but they are a rounded collection of
sites for looking things up. I use them in search of a
new understanding of Unix, and I hope you will,
too.