UNIX File Manipulation Commands
- awk
- 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.
- 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.
- "UNIX"
- Brian Kernighan coined the name UNIX as a pun on the name MULTICS.
MULTICS was a system developed a few years earlier, upon which UNIX
was loosely based.
- Don Libes' book "Life with Unix" contains lots more of these tidbits.
|
|