User들의 level 나누기

Beginner
	- Terminal에 대한 개념도 없다.
	- vi를 배우고 있다.
	- 디렉토리 개념이 없다.
	- 명령 끝에서 리턴키를 누르는 것을 까먹는다.
Novice
	- ls가 디렉토리 listing이라는 것을 안다.
	- editor를 사용한다.
	- C를 들어보긴 했지만 사용해 본 적은 없다.
	- rm 명령을 막 쓰기 시작했다.
	- mail을 일고 싶어한다.
	- 다른 사람들이 왜 unix를 좋아하는지 궁금해 한다.
USER
	- vi, nroff를 힘겹게나마 써 봤다.
	- regular expression에 대해 들어봤지만, 사용한 적은 없다.
	- 고정 길이 string search를 할 때 egrep을 사용한다.
	- 디렉토리를 옮기는 방법을 궁금해 한다.
	- C로 프로그램을 짜보려고 했지만 실패하고, 파스칼이 좋다고 우긴다.
	- dbx를 오디오의 상표라고 생각한다.
	- news를 읽고 싶어한다.
Knowledgeable User
	- nroff를 문제없이 사용할 수 있고, tbl, eqn도 배우기 시작했다.
	- fgrep이 fast grep이란 것을 유추해 낸다.
	- mv명령이 디렉토리를 옮긴다는 것도 이해한다.
	- '도움말'이 도움이 되지 않는다는 것을 배웠다.
	- C 프로그램 작성하는 법을 배웠다.
	- 텍스트 치환하는데 sed를 한 번 써봤다.
	- 남이 dbx를 사용하는 것을 봤다. 하지만 본인은 사용하지 않는다.
Expert
	- 필요할 때 주저없이 sed를 쓴다.
	- vi의 매크로를 쓸 줄 알고, 필요하면 ex도 사용한다.
	- 포스팅을 한다.
	- C shell 스크립트를 가끔 작성한다.
	- vi로 C 프로그램을 작성하고, cc를 이용해 compile한다.
	- &&, ||이 뭐하는 것인지 안다.
Hacker
	- sed, awk를 완벽히 구사한다.
	- vi의 undocumented feature까지도 사용한다.
	- cat 명령으로 C 프로그램을 짜고, '!cc' 명령으로 compile한다.
	- source-level debugger를 믿지 못하므로 adb를 사용한다.
	- 자신만의 nroff 매크로를 작성한다.
	- Bourne shell 스크립트를 작성한다.
GURU
	- m4, lex를 쉽게 사용한다.
	- cat 명령으로 어셈블리어 코드를 작성한다.
	- 시스템이 loading되어 있는 동안에도 kernel에 대해 adb를 돌린다.
	- 유틸리티 source를 patch해서 customize를 한다.
	- 심심할 때 device driver source를 읽는다.
	- 몇 개의 명령이 필요할 경우에는 make를 이용한다.
	- security 홀을 알지만 크랙을 시도하지는 않는다.
Wizard
	- cat 명령으로 device driver를 작성한다.
	- binary를 직접 patch해서 bug를 수정한다.
	- 묻기 전에 답을 해준다.
	- 자신만의 troff 매크로 패키지를 작성한다.
	- 그의 first name은 Dennis, Bill, Ken 등이다.

	1996년 11월호 핸디소식지에서