From: tmatimar@empress.com (Ted M A Timar)
Newsgroups: comp.unix.questions,comp.unix.shell,news.answers
Subject: Unix - Frequently Asked Questions (1/7) [Frequent posting]
Supersedes: <unix-faq/faq/part1_726386543@athena.mit.edu>
Followup-To: comp.unix.questions
Date: 21 Jan 1993 06:03:09 GMT
Organization: Empress Software
Distribution: world
Expires: 18 Feb 1993 06:02:22 GMT
NNTP-Posting-Host: pit-manager.mit.edu
X-Last-Updated: 1992/12/09

Archive-name: unix-faq/faq/part1
Version: $Id: part1,v 2.1 92/12/04 07:43:43 tmatimar Exp $

These seven articles contain the answers to some Frequently Asked
Questions often seen in comp.unix.questions and comp.unix.shell.
Please don't ask these questions again, they've been answered plenty
of times already - and please don't flame someone just because they may
not have read this particular posting.  Thank you.

These articles are divided approximately as follows:

      1.*) General questions.
      2.*) Relatively basic questions, likely to be asked by beginners.
      3.*) Intermediate questions.
      4.*) Advanced questions, likely to be asked by people who thought
	   they already knew all of the answers.
      5.*) Questions pertaining to the various shells, and the differences.
      6.*) An overview of Unix variants.
      7.*) An comparison of configuration management systems (RCS, SCCS).

This article includes answers to:

      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?

If you're looking for the answer to, say, question 1.5, and want to skip
everything else, you can search ahead for the regular expression "^1.5)".

While these are all legitimate questions, they seem to crop up in
comp.unix.questions or comp.unix.shell on an annual basis, usually
followed by plenty of replies (only some of which are correct) and then
a period of griping about how the same questions keep coming up.  You
may also like to read the monthly article "Answers to Frequently Asked
Questions" in the newsgroup "news.announce.newusers", which will tell
you what "UNIX" stands for.

With the variety of Unix systems in the world, it's hard to guarantee
that these answers will work everywhere.  Read your local manual pages
before trying anything suggested here.  If you have suggestions or
corrections for any of these answers, please send them to to
tmatimar@empress.com.

1.1)  Who helped you put this list together?

      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.

1.2)  When someone refers to 'rn(1)' or 'ctime(3)', what does
      the number in parentheses mean?

      It looks like some sort of function call, but it isn't.  These
      numbers refer to the section of the "Unix manual" where the
      appropriate documentation can be found.  You could type "man 3
      ctime" to look up the manual page for "ctime" in section 3 of
      the manual.

      The traditional manual sections are:

	1	User-level  commands
	2	System calls
	3	Library functions
	4	Devices and device drivers
	5	File formats
	6	Games
	7	Various miscellaneous stuff - macro packages etc.
	8	System maintenance and operation commands

      Some Unix versions use non-numeric section names.  For instance,
      Xenix uses "C" for commands and "S" for functions.

      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.

1.3)  What does {some strange unix command name} stand for?

      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

	where "re" is a "regular expression".

      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 System"
	
	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

	"rc" is also the name of the shell from the new Plan 9
	operating system.

      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.

1.4)  How does the gateway between "comp.unix.questions" and the
      "info-unix" mailing list work?

      "info-unix" and "unix-qizards" 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.

1.5)  What are some useful Unix or C books?

      Mitch Wright (mitch@cirrus.com) maintains a useful list of Unix
      and C books, with descriptions and some mini-reviews.  There are
      currently 77 titles on his list.

      You can obtain a copy of this list by anonymous ftp from
      ftp.wg.omron.co.jp (133.210.4.4), where it's
      "pub/unix-faq/docs/Unix-C-Booklist".  If you can't use anonymous
      ftp, email the line "help" to "mailserv@iuvax.cs.indiana.edu" for
      instructions on retrieving things via email.

      Send additions or suggestions to mitch@cirrus.com.

1.6)  What happened to the pronunciation list that used to be part of this
      document?

      From its inception in 1989, this FAQ document included a
      comprehensive pronunciation list maintained by Maarten Litmaath
      (thanks, Maarten!).  (Does anyone know who *created* it?)

      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".

-- 
Ted Timar - tmatimar@empress.com
Empress Software, 3100 Steeles Ave E, Markham, Ont., Canada L3R 8T3
Newsgroups: comp.unix.questions