The Eight Circles of UNIX fu

(Author unknown)

Beginner
  • insecure with the concept of a terminal
  • has yet to learn the basics of vi
  • has not figured out how to get a directory listing
  • still has trouble with typing after each line of input
Novice
  • knows that ls will produce a directory listing
  • uses the editor, but calls it “vye”
  • has heard of C but never used it
  • has had his first bad experience with rm
  • is wondering how to read his mail
  • is wondering why the person next to him seems to like Unix so very much
User
  •  uses vi and nroff, but inexpertly
  • has heard of regular-expressions but never seen one
  • has figured out that “-” precedes options
  • has attempted to write a C program and has decided to stick with pascal
  • is wondering how to move a directory
  • thinks that dbx is a brand of stereo component
  • knows how to read his mail and is wondering how to read the news
Knowlegable User
  • uses nroff with no trouble, and is beginning to learn tbl and eqn
  • uses grep to search for fixed strings
  • has figured out that mv will move directories
  • has learned that “help” doesn`t help
  • somebody has shown him how to write C programs
  • once used sed to do some text substitution
  • has seen dbx used but does not use it himself
  • thinks that make is only for wimps
Expert
  • uses sed when necessary
  • uses macro’s in vi, uses ex when necessary
  • posts news at every possible opportunity
  • write csh scripts occasionally
  • write C programs using vi and compiles with cc
  • has figured out what “&&” and “||” are for
  • thinks that human history started with “!h”
Hacker
  • uses sed and awk with comfort
  • uses undocumented features of vi
  • write C code with “cat >” and compiles with “!cc”
  • uses adb because he doesn`t trust source debuggers
  • can answer questions about the user environment
  • writes his own nroff macros to supplement standard ones
  • write scripts for Bourne shell
  • knows how to install bug fixes
Guru
  • uses m4 and lex with comfort
  • writes assembly code with “cat >”
  • uses adb on the kernel while system is loaded
  • customizes utilities by patching the source
  • reads device driver source with his breakfast
  • can answer any unix question after a little thought
  • uses make for anything that requires two or more distinct commands to achieve
  • has learned how to breach security but no longer needs to try
Wizard
  • writes device drivers with “cat >”
  • fixes bugs by patching the binaries
  • can answer any question before you ask
  • writes his own troff macro packages
  • is on first-name basis with DennisBill, and Ken