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 {awk,grep,fgrep,egrep,biff,cat,gecos,nroff,troff,tee,bss} 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 "^5)". While these are all legitimate questions, they seem to crop up in comp.unix.questions 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@nff.ncl.omron.co.jp. 1) Who helped you put this list together? I have just taken 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. 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. 3) What does {awk,grep,fgrep,egrep,biff,cat,gecos,nroff,troff,tee,bss,rc} 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. Don Libes' book "Life with Unix" contains lots more of these tidbits. 4) How does the gateway between "comp.unix.questions" and the "info-unix" mailing list work? "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. 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/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. 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/Pronunciation-Guide". .