The Unix Hierarchy
(The Eight Stages of Unix Knowledge)
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 after each line of input
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
user
- uses vi and nroff, but inexpertly
- has heard of regular-expr.s 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(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
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"
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
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 Dennis, Bill, and Ken