The Unix Hierarchy (The Eight Stages of Unix Knowledge)

Name, Description and Features

  1. 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
    • still has trouble with typing [RETURN] after each line of input

  2. Novice
    • knows tha "ls" will produce a directory
    • 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.

  3. 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

  4. 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(1) 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 a only for wimps

  5. Expert
    • uses sed when necessary
    • uses macro"s in vi, uses ex when neccesary
    • 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"

  6. 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 std. ones
    • write scripts for Bourne shell (/bin/sh)
    • knows how to install bug fixes

  7. 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

  8. 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 firstname basis with Dennis, Bill, Ken and Linus

last modified by Bill Poole on 3-Apr-97.
Useful UNIX commands.
Back to Bill Poole's homepage.
Back to Bill Poole's computer page.
Mail: wpoolejr@terrestrial.com