Unix MAN 페이지를 직접 작성해보자

Solaris 2006. 2. 21. 16:55 posted by CecilDeSK
반응형
우리는 유닉스를 사용하면서 매뉴얼 페이지를 가끔 참조하게 된다.
그러면서도 우리들 자신도 그러한 매뉴얼 페이지를 만들어 자신의 프로그램을 위해
등록해보고 싶은 경우가 있을 것이다.
다음에 쓰는 내용은 이러한 매뉴얼 페이지를 직접 여러분이 만들어 볼 수 있도록
명료하면서도 단순하고 필요한 내용만을 언급하고 있다.
Here we go~

시스템에 저장된 매뉴얼은 보통 몇가지 섹션으로 나뉘어져 있다.
예를 들어 사용자 명령어들(ls, cat등등)은 1번 섹션이고 시스템 콜은 2번 섹션이다.
다음은 그것들의 리스트이다.

BSD System V Xenix
사용자 명령 1 1 u_man
시스템 콜 2 2 p_man
라이브러리 루틴 3 3 p_man
I/O 와 특수파일들 4 7 p_man
관리자를 위한 파일들 5 4 a_man
게임들 6 6또는 1 u_man
기타 잡다한것 7 5 anything goes
관리자를 위한 명령 8 8 a_man
유지관리를 위한 명령 8 1M u_man 또는 a_man
지역명령(local cmd) l(문자) *
절대명령 o *

예를 들어 'ls'(사용자명령)에 관한 매뉴얼을 보려면 다음의 두가지 방법이 있다.

$ man ls
$ man -s 1 ls

특히 가끔 특정 함수(예를 들어 uname)에 대한 매뉴얼을 보고 싶을 경우가 있는데 이때
우리는 그 함수에 대한 매뉴얼이 아니라 사용자 명령인 'uname'의 매뉴얼을 보여주는
때가 있다. 이때 우리는 두번째의 방법으로 매뉴얼을 볼 수 있다.

$ man -s 2 uname

그럼 매뉴얼 페이지의 소스를 보자.
--------------------------------------------------
." bbspasswd's manual page
.TH bbspasswd 1 "2 Jun, 1997" "안창선의 소프트웨어"
.SH 이름
sysopmgt - tina호스트 프로그램의 user id 관리 프로그램
.SH 사용법
.B bbspasswd
.RI [-pinsct]
.PP
.br
.SH 설명
.I bbspasswd는 tina호스트 프로그램에서
user id를 관리해 주는 프로그램입니다.
user id의 비밀번호나 회원 이름등을 편리하게
변경할 수 있습니다.
.br

.SH 옵션
.TP
.B -p userid password
회원의 패스워드를 변경합니다.
.TP
.B -i userid chageid
회원의 ID를 변경합니다.
.TP
.B -n userid chagename
회원의 이름을 변경합니다.
.TP
.B -s userid jumin-number
회원의 주민번호를 변경합니다.
.TP
.B -c userid pager
회원의 호출번호를 변경합니다.
.TP
.B -t userid pager
회원의 유저 타입을 변경합니다.

.br
.SH BUGS
버그요? 없시요.
.br
.SH 만든이
안창선
kabin@coresw.co.kr
------------------------------------------------
매크로 설명
.TH : 매뉴얼 페이지의 타이틀이다.
.SH : 섹션 해딩을 나타내는데 각 섹션별로 하나씩을 준다.
.TP : 포맷 옵션이다.
.LP : 섹션에서 패러그랩 사이에서 사용된다.
위의 페이지를 실제로 직접 보는 명령은 nroff -man을 사용하면 된다.
즉...

$ nroff -man man.1

일단 매뉴얼이 만들어 졌으면 이것을 여러분이 원하는 섹션에 넣어줘야 한다.
예를 들어 man.1이라면 /usr/man/man1 디렉토레에 넣고
catman 프로그램을 이용하여 등록 시켜 주면 된다.


위의 매뉴얼 소스를 위의 명령으로 보면 다음과 같은 내용을 보여준다.
--------------------------------------------------
bbspasswd(1) bbspasswd(1)


이름
sysopmgt - tina호스트 프로그램의 user id 관리 프로그램

사용법
bbspasswd [-pinsct]


설명
bbspasswd는 tina호스트 프로그램에서 user id를 관리해 주는
프로그램입니다. user id의 비밀번호나 회원 이름등을
편리하게 변경할 수 있습니다.


옵션
-p userid password
회원의 패스워드를 변경합니다.

-i userid chageid
회원의 ID를 변경합니다.

-n userid chagename
회원의 이름을 변경합니다.

-s userid jumin-number
회원의 주민번호를 변경합니다.

-c userid pager
회원의 호출번호를 변경합니다.

-t userid pager
회원의 유저 타입을 변경합니다.

BUGS
버그요? 없시요.

만든이
안창선
kabin@spm.co.kr
반응형