THE UNIX ACRONYM LIST

Credits

The Unix Acronym List, started in 1993, was compiled by Wolfram Rösler with assistance from:

Marcel Waldvogel
Martin P. Ibert
Oliver Laumann
Peter Funk
Volker Lausch
Ulf Moeller
Stefan Stapelberg
Christopher J. Calabrese
Chris Siebenmann
Casper H.S. Dik
Ken Keys
Peter da Silva
Michael P Urban
Drew Sullivan
Brian Hiles
Frederic Delanoy
Vincent Borghi
Kim Chr. Madsen
Jim Driscoll
Ted Timar
Thomas Rolfes
Stefan Brozinski
Hasko Heinecke
Morus Walter
Andreas Engel
The Hacker's Dictionary
Dennis M. Ritchie
Kelly Larson
James Kanze
Matt Casey
David Ham
Bernhard Sehorz
Michael Lockhart

The explanations for most of the HTML tags, as well as most of the HTML knowledge used to design this site, were taken from the book HTML 2.0/3.2: Reference Guide by Günter Born, Addison-Wesley 1997.

Following are some selected comments from the contributors:

The meaning of dd
The meaning of su
The meaning of dd, again
The meaning of dbx and dd
The meaning of abd
The meaning of umask
The meaning of the c in calloc
The meaning of the C in BCPL
The meaning of the r in rmail
The meaning of ping
The meaning of the i in i-node
The meaning of ISO
The meaning of Unix

The meaning of dd

From: Peter Funk 
To: wr@bara.oche.de (Wolfram Roesler)

> dd	C	direct data (?)
   Eigentlich `Copy and Convert' und nur zu `dd' umbenannt, weil
   `cc' schon durch den `C-Compiler' belegt war !  Das ist 
   jedenfalls die authentische Auskunft, die ich damals den
   Man-Pages unseres UNIX-V7 auf unserer Uni PDP-11 entnommen
   habe.
Actually, it stands for `Copy and Convert' and was renamed to `dd` only because `cc' was reserved for the C compiler! This is the authentic information I got from the man pages of our Unix-V7 on our university PDP 11.

The meaning of su

From: net@cs.tu-berlin.de (Oliver Laumann)
Newsgroups: de.comp.lang.c

`su' steht fuer `Super-User'.  Das Kommando hat urspruenglich
ausschliesslich dazu gedient, root zu werden.  Die Moeglichkeit, eine
andere User-ID anzugeben, kam erst spaeter hinzu.

Die UNIX-Geschichte hat nicht mit XENIX oder Linux angefangen; merkt
Euch das mal :-)

Fuer die Unglaeubigen hier der Anfang von su.c aus UNIX V6 (es hat
also keinen Sinn, weiter zu spekulieren):
`su' stands for `Super User'. Originally, the command's only purpose was to become root. The possibility to specify a different user id was added later. Keep in mind that the history of Unix did not begin with Xenix or Linux :-) For the unbelieving here is the beginning su.c from Unix V6 (so there is no point in further speculation):
$ cat su.c
/* su -- become super-user */

char    password[100];
char    pwbuf[100];
int     ttybuf[3];
main()
{
	register char *p, *q;
	extern fin;

	if(getpw(0, pwbuf))
		goto badpw;
	(&fin)[1] = 0;
	p = pwbuf;
	while(*p != ':')
		if(*p++ == '\0')
			goto badpw;
	if(*++p == ':')
		goto ok;

The meaning of dd, again

From: urban@sideshow.jpl.nasa.gov (Michael P Urban)
Newsgroups: comp.unix.misc

>I thought 'dd' was for 'device dump'.

("You young whippersnappers.  When I was your age...")  Anyway, dd
stands for `data definition', if it can be said to stand for anything,
because the name, and its horrifying command-line syntax, are derived
from the IBM OS/360 JCL command of the same name.

  //GO EXEC PGM=IEFBR14
  //SYSIN DD RECFM=FB,DISP=(NEW,,KEEP),DSN=FOOFILE

(or something like that.  You think I remember _details_ of this stuff?)

I hear that people still do this sort of thing.  But not on cards.

The meaning of dd, again

From: Ken Keys 
Newsgroups: comp.unix.misc

>>I thought 'dd' was for 'device dump'.
>I thought it stood for 'device-to-device'.
I heard it was 'death and destruction', for what happens if you screw up
the options. :)

The meaning of dbx and dd

From: cjc@ulysses.att.com
To: wr@bara.oche.de

dbx is a compression/expansion scheme (roughly) similar to Dolby S.
It's put out by dbx laboratories (I believe the db is for decibel,
and the x is for expansion), which is in the bay area not too far from
Berkeley.

	But what does `dd' stand for on the mainframe?

I talked to Griff Smith (ggs@ulysses.att.com),
who wrote the System V Release 3 version of dd, about this today.

He's not sure if it was ever actually called cc in UNIX, but he is
_certain_ that the name dd comes from the jcl dd command (so does the
wreched syntax).

As far as what that's named after, neither of us has a clue.
It's possible that it was the jcl command which was originally named
'cc', and not the UNIX one.

The meaning of adb

From: Drew Sullivan 
Newsgroups: comp.unix.misc

If you are going to get your history correct, then you have to know why
Bourne was at Bell Labs.  He was trying to build an algol-68 compiler.
The project didn't complete in the sence that there is no algol compiler
but the tools that he built live on.  That is why the Bourne shell has
case ... esac,  if ... fi,  do ... done,  These are all from algol-68.

Lastly the the adb was the algol debuger.  The 'a' is for algol!!!!

The meaning of umask

From: hoh@invalid.invalid (Goran Larsson)
Newsgroups: comp.unix.misc
Date: Sat, 14 Oct 2000 21:55:25 GMT

In traditional Unix information about each process is held
in a structure called "user". This structure contains many
things (process registers, uid, gid, memory info, signals,
cwd, statistics, and the file creation mask. In SunOS 4.1.X
the file creation mask in the user structure is called u_cmask.
A pointer, traditionally called "u", is set to point to the
user structure for the current process. Device drivers and
system calls access process information in the user structure
using u (like u->u_cmask).

    struct  user {
            ...
            short   u_cmask;                /* mask for file creation */
            ...
    };

    extern struct user *uunix;
    #define u (*uunix)

Perhaps the "umask" system call got its name because it sets the
file creation mask in the "u" structure?

The meaning of the c in calloc

The meaning of the c in calloc was vividly discussed in comp.lang.c in October 2000 (see here), with both clear (because, unlike malloc, calloc clears the memory it returns) and count (because, unlike malloc, calloc is passed a count of elements to allocate) suggested as possible explanations, however without real evidence for either. Other suggestions were (along with several less serious ones) contiguous, core, commit, chunk, and character, the latter because in early versions of K&R C, calloc was the only allocation function in the library (and had an accompanying cfree). For the same reason, it was even suggested that the c simply stand for the C programming language. So, the etymology of calloc still isn't proven, and if anybody has any definite evidence as to its meaning, I'd highly appreciate learning about it.


The meaning of the C in BCPL

It is usually assumed that BCPL stand for "Basic Cambridge Programming Language" since the language was developed at Cambridge University, but http://www.lysator.liu.se/c/clive-on-bcpl.html suggests that the C in fact stand for "Combined".


The meaning of the r in rmail

From: maus@olias.linet.org (Jim Driscoll)
Newsgroups: comp.unix.misc

From the Unix system V/386 Release 4 Users Reference Manual, under mail(1):
" rmail only permits the sending of mail; uucp(1C) uses rmail as a security
precaution.  Any application programs that generate mail messages should
be sure to invoke rmail rather than mail for message transport and/or
delivery."

Sounds pretty restricted to me.  In fairness, this means that it is
also for remote mail, but I would argue on the basis of this paragraph
that it is restricted mail, since this implies that I could replace it
with mail without any lossage.  In fact, they are the same program on my
system, linked with different names (/usr/bin/mail and /usr/bin/rmail).

The meaning of ping

The author of ping, Mike Muuss, writes in his "Story of the PING Program":

From my point of view PING is not an acronym standing for Packet InterNet
Grouper, it's a sonar analogy. However, I've heard second-hand that Dave
Mills offered this expansion of the name, so perhaps we're both
right. Sheesh, and I thought the government was bad about expanding
acronyms! :-) 

The complete story can be found here.


The meaning of the i in i-node

From: dmr@plan9.bell-labs.com (Dennis M. Ritchie)
To: wolfram@roesler-ac.de
Date: 06 Apr 2001

I don't remember the discussion, but probably "index".
I can't recall a time when it was expanded out.  The
name was always just i-node.

The meaning of ISO

ISO is the "International Organization for Standardization". Their web site explains why they are called ISO, not IOS:

Shouldn't the acronym be "IOS"? Yes, if it were an acronym - which it is not. In fact, "ISO" is a word, derived from the Greek isos, meaning "equal", which is the root of the prefix "iso-" that occurs in a host of terms, such as "isometric" (of equal measure or dimensions) and "isonomy" (equality of laws, or of people before the law).


The meaning of Unix

From: dmr@plan9.bell-labs.com (Dennis M. Ritchie)
To: wolfram@roesler-ac.de
Date: 22 Jul 2003

[...] It's a created word,  not
an acronym, and is a bit of a pun on Multics.
At some point Kernighan was asked to explain
it, and he said approximately, "Maybe 'Unix' is one
of whatever Multics is many of."

I don't think any of us ever tried to expand it
as an acronym.  I'm quite taken by the "UNited Nightly
in Xerophagy" explanation, but it's as spurious
as UNIversal interactive eXcutive.  Of course I
don't know what thought process Kernighan went
through originally.

The UNIX spelling as opposed to Unix stems from
the desire of the trademark overseers (originally in AT&T,
now in Open Group), to mark it distinctly in written text.

© 2006 Wolfram Rösler
wolfram@roesler-ac.de
Last update: 20 May 2006

Back to main page