Humor - Get your ABC's of Linux right

December 05, 2006
Recently, one of my friends shared with me this rather funny ode to Linux which was passed on to him by a friend of his, which I am in turn sharing with you. So without much ado, here is the rhyming ode to Linux ...

A is for awk, which runs like a snail, and
B is for biff, which reads all your mail.
C is for cc, as hackers recall, while
D is for dd, the command that does all.
E is for emacs, which rebinds your keys, and
F is for fsck, which rebuilds your trees.
G is for grep, a clever detective, while
H is for halt, which may seem defective.
I is for indent, which rarely amuses, and
J is for join, which nobody uses.
K is for kill, which makes you the boss, while
L is for lex, which is missing from DOS.
M is for more, from which less was begot, and
N is for nice, which it really is not.
O is for od, which prints out things nice, while
P is for passwd, which reads in strings twice.
Q is for quota, a Berkeley-type fable, and
R is for ranlib, for sorting ar table.
S is for spell, which attempts to belittle, while
T is for true, which does very little.
U is for uniq, which is used after sort, and
V is for vi, which is hard to abort.
W is for whoami, which tells you your name, while
X is, well, X, of dubious fame.
Y is for yes, which makes an impression, and
Z is for zcat, which handles compression.

I noticed one error in the third line of the poem though, which is that Linux does not use the cc compiler, rather it uses gcc. But apart from that, this is a nice compilation.


  • maybe cc is for "carbon copy" to copy hackers on sent emails? dunno. thanks, though, i likes it!

  • cc is the command that you run to execute the c-compiler.
    on linux cc is linked to gcc, but that just makes gcc the implementation of cc that is used, it does not remove the cc command.

    greetings, eMBee.

  • cc is generally a symlink to gcc, some oldish makefiles still call cc.

  • Actually, cc is, on every distro I've ever used, a symlink to gcc. The reason that this is done is for script compatibility, especially makefiles. There is still plenty of software out there that doesn't assume that you're using gcc, but that will compile just dandily on GNU/Linux. If you type "cc -v", you do get the correct response.

    Therefore, the alphabet as a whole is indeed still valid. :-)

  • Hi Ravi,

    Cool rhyme, I must say!!!
    But I guess these commands are not just specific to linux, and are rather part of Unix since long.

  • Everyone knows from nursery school that:
    a ..
    b ..
    c is for cat.

  • How about

    C is for cut, to remove or make small, while

  • This was probably written before gcc existed. It was brought into Linux when they imported the fortune database used by the BSD family and who knows how long it lived THERE.

    The quota command was introduced in 4.2BSD, which came out in 1983, so there's the earliest this could have been written. (emacs and vi started in the '70s, so that's no clue)

    GCC 1.0 was released in 1987 and one of the books I have (written in 1989) says that "only BSD UNIX supports quotas."

    So assuming that quotas were added to AT&T System V by Release 4 (SVR4), there's a 75% chance that GCC didn't even exist when that was written and a 100% chance that Linux didn't exist.