Eight Circles of UNIX-fu
[Author Unknown]
Originally posted here
Level Description and features:
beginner
- was given a login and password by someone else
- was shown how to log in and list directories, but wonders what is next
- might know "cat" because it's a real word
- has yet to learn how to exit vi without rebooting
- still asks questions in online help forums like "how do I become a hacker?"
- still titles his questions in online help forums in useless ways like "Question" or "Problem"
novice
- remembers that "ls" will produce a directory listing
- can save and exit vi, but calls it "vye"
- has heard of "C" but doesn't really know "A" or "B" yet (and wonders why no one mentions them as much)
- has had his first bad experience with rm, but doesn't know it
- is wondering how to read his mail
- is wondering how to move a directory
- is unaware of hidden files
- is wondering why the person next to him seems to like Unix so very much
user
- uses vi and nroff, but inexpertly
- insecure with the concept of a terminal
- has had his second bad experience with rm and knows it
- has heard of regexps but has never seen one
- has figured out that "-" precedes command options
- has attempted to write a "Hello World" program in C and afterward decided to stick with pascal
- thinks that dbx is a brand of stereo component
- knows how to read his mail and is wondering how to read the news
- still asks questions that have obvious answers, but thinks twice about it
- has heard of something called man pages
knowledgeable
- uses nroff with no trouble, and is beginning user to learn tbl and eqn
- uses grep to search for fixed strings
- has changed his command prompt about 330,000 times
- has figured out that mv(1) will move directories
- uses tar, but has a lot of tarballs with no hidden files
- is aware that hidden files exist
- has learned that "help" doesn't help
- still uses color in his terminals
- somebody has shown him how to modify existing 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
- has actually seen a man page, but finds them about as useful as having a third testacle
- starting to get the idea about searching for the answer to questions before asking them
- might be able to successfully install Redhat/Mandrake Linux
expert
- uses sed when necessary
- uses macro's in vi, uses ex when neccesary
- has a high post count on some UNIX forum somewhere
- write sh 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"
- uses Google as if it were "The Oracle" in The Matrix
- has configured a firewall using an open source OS
- makes use of man pages more frequently than ever before...starting to actually like them
- has actually answered a question or two on an open forum
- depending on temperament, is thinking of doing a stage-1 install of Gentoo Linux, or is already using Debian
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 (/bin/sh)
- knows how to install bug fixes
- has transcended Gentoo/Debian and is on to LFS or OpenBSD -CURRENT
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
- created his own liveCD and is working on an embedded OS
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
- can revisit a 2-page Perl script he wrote 2 years ago and still understand what it does
- is on first-name basis with Dennis, Bill, and Ken

