1.1) Who helped you put this list together?
1.2) When someone refers to 'rn(1)' or 'ctime(3)', what does the number in parentheses mean?
1.3) What does {some strange unix command name} stand for? 1.4) How does the gateway between "comp.unix.questions" and the "info-unix" mailing list work? 1.5) What are some useful Unix or C books? 1.6) What happened to the pronunciation list that used to be part of this document?
This document was one of the first collections of Frequently Asked Questions. It was originally compiled in July 1989.
I took over the maintenance of this list. Almost all of the work (and the credit) for generating this compilation was done by Steve Hayman.
We also owe a great deal of thanks to dozens of Usenet readers who submitted questions, answers, corrections and suggestions for this list. Special thanks go to Maarten Litmaath, Guy Harris and Jonathan Kamens, who have all made many especially valuable contributions.
Part 5 of this document (shells) was written almost entirely by Matthew Wicks wicks@dcdmjw.fnal.gov.
Part 6 of this document (Unix flavours) was written almost entirely by Pierre (P.) Lewis lew@bnr.ca.
Where possible the author of each question and the date it was last updated is given at the top. Unfortunately, I only started this practice recently, and much of the information is lost. I was also negligent in keeping track of who provided updates to questions. Sorry to those who have made valuable contributions, but did not receive the credit and recognition that they legitimately deserve.
I make this document available in *roff format (ms and mm macro
packages). Andrew Cromarty has also converted it into Texinfo format.
Marty Leisner
Major contributors to the this document who may or may not be
recognized elsewhere are:
Steve Hayman shayman@Objectario.com
The formatted versions are available for anonymous ftp from
ftp.wg.omron.co.jp under pub/unix-faq/docs .
The traditional manual sections are:
Each section has an introduction, which you can read with "man #
intro" where # is the section number.
Sometimes the number is necessary to differentiate between a
command and a library routine or system call of the same name.
For instance, your system may have "time(1)", a manual page about
the 'time' command for timing programs, and also "time(3)", a
manual page about the 'time' subroutine for determining the
current time. You can use "man 1 time" or "man 3 time" to
specify which "time" man page you're interested in.
You'll often find other sections for local programs or even
subsections of the sections above - Ultrix has sections 3m, 3n,
3x and 3yp among others.
awk = "Aho Weinberger and Kernighan"
This language was named by its authors, Al Aho, Peter
Weinberger and Brian Kernighan.
grep = "Global Regular Expression Print"
grep comes from the ed command to print all lines matching a
certain pattern
g/re/p
fgrep = "Fixed GREP".
fgrep searches for fixed strings only. The "f" does not stand
for "fast" - in fact, "fgrep foobar *.c" is usually slower than
"egrep foobar *.c" (Yes, this is kind of surprising. Try it.)
Fgrep still has its uses though, and may be useful when searching
a file for a larger number of strings than egrep can handle.
egrep = "Extended GREP"
egrep uses fancier regular expressions than grep. Many people
use egrep all the time, since it has some more sophisticated
internal algorithms than grep or fgrep, and is usually the
fastest of the three programs.
cat = "CATenate"
catenate is an obscure word meaning "to connect in a series",
which is what the "cat" command does to one or more files. Not
to be confused with C/A/T, the Computer Aided Typesetter.
gecos = "General Electric Comprehensive Operating Supervisor"
When GE's large systems division was sold to Honeywell,
Honeywell dropped the "E" from "GECOS".
Unix's password file has a "pw_gecos" field. The name is a
real holdover from the early days. Dennis Ritchie has reported:
"Sometimes we sent printer output or batch jobs
to the GCOS machine. The gcos field in the password file
was a place to stash the information for the $IDENT card.
Not elegant."
nroff = "New ROFF"
troff = "Typesetter new ROFF"
These are descendants of "roff", which was a re-implementation
of the Multics "runoff" program (a program that you'd use to
"run off" a good copy of a document).
tee = T
From plumbing terminology for a T-shaped pipe splitter.
bss = "Block Started by Symbol"
Dennis Ritchie says:
Actually the acronym (in the sense we took it up; it may
have other credible etymologies) is "Block Started by
Symbol." It was a pseudo-op in FAP (Fortran Assembly [-er?]
Program), an assembler for the IBM 704-709-7090-7094
machines. It defined its label and set aside space for a
given number of words. There was another pseudo-op, BES,
"Block Ended by Symbol" that did the same except that the
label was defined by the last assigned word + 1. (On these
machines Fortran arrays were stored backwards in storage
and were 1-origin.)
The usage is reasonably appropriate, because just as with
standard Unix loaders, the space assigned didn't have to be
punched literally into the object deck but was represented
by a count somewhere.
biff = "BIFF"
This command, which turns on asynchronous mail notification,
was actually named after a dog at Berkeley.
I can confirm the origin of biff, if you're interested.
Biff was Heidi Stettner's dog, back when Heidi (and I, and
Bill Joy) were all grad students at U.C. Berkeley and the
early versions of BSD were being developed. Biff was
popular among the residents of Evans Hall, and was known
for barking at the mailman, hence the name of the command.
Confirmation courtesy of Eric Cooper, Carnegie Mellon University
rc (as in ".cshrc" or "/etc/rc") = "RunCom"
"rc" derives from "runcom", from the MIT CTSS system, ca. 1965.
'There was a facility that would execute a bunch of
commands stored in a file; it was called "runcom" for "run
commands", and the file began to be called "a runcom."
"rc" in Unix is a fossil from that usage.'
Brian Kernighan & Dennis Ritchie, as told to Vicki Brown
Perl = "Practical Extraction and Report Language"
The Perl language is Larry Wall's highly popular
freely-available completely portable text, process, and file
manipulation tool that bridges the gap between shell and C
programming (or between doing it on the command line and
pulling your hair out). For further information, see the
Usenet newsgroup comp.lang.perl.
Don Libes' book "Life with Unix" contains lots more of these
tidbits.
"info-unix" and "unix-wizards" are mailing list versions of
comp.unix.questions and comp.unix.wizards respectively.
There should be no difference in content between the
mailing list and the newsgroup.
To get on or off either of these lists, send mail to
info-unix-request@brl.mil or unix-wizards-request@brl.mil.
Be sure to use the '-Request'. Don't expect an immediate response.
Here are the gory details, courtesy of the list's maintainer,
Bob Reschly.
Postings to info-UNIX and UNIX-wizards lists
Anything submitted to the list is posted; I do not moderate
incoming traffic -- BRL functions as a reflector. Postings
submitted by Internet subscribers should be addressed to the list
address (info-UNIX or UNIX- wizards); the '-request' addresses
are for correspondence with the list maintainer [me]. Postings
submitted by USENET readers should be addressed to the
appropriate news group (comp.unix.questions or
comp.unix.wizards).
For Internet subscribers, received traffic will be of two types;
individual messages, and digests. Traffic which comes to BRL
from the Internet and BITNET (via the BITNET-Internet gateway) is
immediately resent to all addressees on the mailing list.
Traffic originating on USENET is gathered up into digests which
are sent to all list members daily.
BITNET traffic is much like Internet traffic. The main
difference is that I maintain only one address for traffic
destined to all BITNET subscribers. That address points to a list
exploder which then sends copies to individual BITNET
subscribers. This way only one copy of a given message has to
cross the BITNET-Internet gateway in either direction.
USENET subscribers see only individual messages. All messages
originating on the Internet side are forwarded to our USENET
machine. They are then posted to the appropriate newsgroup.
Unfortunately, for gatewayed messages, the sender becomes
"news@brl-adm". This is currently an unavoidable side-effect of
the software which performs the gateway function.
As for readership, USENET has an extremely large readership - I
would guess several thousand hosts and tens of thousands of
readers. The master list maintained here at BRL runs about two
hundred fifty entries with roughly ten percent of those being
local redistribution lists. I don't have a good feel for the
size of the BITNET redistribution, but I would guess it is
roughly the same size and composition as the master list.
Traffic runs 150K to 400K bytes per list per week on average.
Mitch Wright (mitch@cirrus.com) maintains a useful list of Unix
and C books, with descriptions and some mini-reviews. There are
currently 167 titles on his list.
You can obtain a copy of this list by anonymous ftp from
ftp.rahul.net (192.160.13.1), where it's "pub/mitch/YABL/yabl".
Send additions or suggestions to mitch@cirrus.com.
Samuel Ko (kko@sfu.ca) maintains another list of Unix books.
This list contains only recommended books, and is therefore
somewhat shorter. This list is also a classified list, with
books grouped into categories, which may be better if you are
looking for a specific type of book.
You can obtain a copy of this list by anonymous ftp from
rtfm.mit.edu, where it's "pub/usenet/news.answers/books/unix".
Send additions or suggestions to kko@sfu.ca.
If you can't use anonymous ftp, email the line "help" to
"ftpmail@decwrl.dec.com" for instructions on retrieving
things via email.
From its inception in 1989, this FAQ document included a
comprehensive pronunciation list maintained by Maarten Litmaath
(thanks, Maarten!). It was originally created by Carl Paukstis
carlp@frigg.isc-br.com.
It has been retired, since it is not really relevant to the topic
of "Unix questions". You can still find it as part of the
widely-distributed "Jargon" file (maintained by Eric S. Raymond,
eric@snark.thyrsus.com which seems like a much more appropriate
forum for the topic of "How do you pronounce /* ?"
If you'd like a copy, you can ftp one from ftp.wg.omron.co.jp
(133.210.4.4), it's "pub/unix-faq/docs/Pronunciation-Guide".
Pierre Lewis lew@bnr.ca
Jonathon Kamens jik@gza.com
Tom Christiansen tchrist@mox.perl.com
Maarten Litmaath maart@nat.vu.nl
Guy Harris guy@auspex.com
1.2) When someone refers to 'rn(1)' or 'ctime(3)', what does
the number in parentheses mean?
Some Unix versions use non-numeric section names. For instance,
Xenix uses "C" for commands and "S" for functions. Some newer
versions of Unix require "man -s# title" instead of "man # title".
1.3) What does {some strange unix command name} stand for?
"rc" is also the name of the shell from the new Plan 9
operating system.
Perl = "Pathologically Eclectic Rubbish Lister"
1.4) How does the gateway between "comp.unix.questions" and the
"info-unix" mailing list work?
1.5) What are some useful Unix or C books?
1.6) What happened to the pronunciation list that used to be part of this
document?
Last modified: 31 December 1995