What is a Unix Guru?
People who come into contact with the UNIX system are often told : "If you
have trouble, see so-and-so, he's a guru", or "Bob there is a real Unix hacker".
Often they are baffled by these appellations, and do not pursue the matter further.
What is a "Unix Hacker ?". How does he differ from a "guru" ? To answer
these and other questions, here is the UNIX HIERARCHY :
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
novice
- knows that ls will produce a directory
- use 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
- had heard of regular-expr's but never seen one
- uses egrep to search for fixed strings
- has figured out that '-' precedes options
- is wondering how to move a directory
- has attempted to write C program and has decided to stick with pascal
- thinks that sdb is a brand of stereo component
- knows how to read his mail and is wondering how to read the news
knowledgeable user
- uses nroff with no trouble, and is beginning to learn tbl
and eqn
- thinks that fgrep is fast grep
- has figured out that mv will move directories
- has learned that learn doesn't help
- somebody has shown him how to write C programs
- once used sed to do some text substitution
- has seen sdb 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
- writes csh scripts occasionally
- writes 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
- writes 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
- writes scripts for Bourne shell (/bin/sh)
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 archive
- 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 ask
- writes his own troff macro packages
- is on first-name basis with Dennis, Bill and Ken
Copyright 2001 http://perso.wanadoo.fr/levenez/unix/guru.html