(10101101)173/UNIX2008. 12. 2. 23:24
man 명령어는 도움말 명령어 입니다. 일반적인 명령어에 잘못된 명령을 입력하면 간단한 도움말이 나오게 됩니다. 하지만 man 명령어를 통해 좀더 디테일한 도움말을 확인해 보실 수 있습니다. man 명령어의 사용 방식과 옵션은 다음과 같습니다.

[solaris10vm:/]# man (옵션) [확인할명령어]
>> 옵션
-a : All
-l(엘) : List
-s : Section
-k : Keyword

-a 옵션
먼저 이해를 위해 "-l"옵션으로 passwd를 입력한 화면을 보면 다음과 같습니다.
[solaris10vm:/]# man -l passwd
passwd (1)            -M /usr/share/man
passwd (4)            -M /usr/share/man
[solaris10vm:/]#

위에 말은 같은 "man passwd"라도 두가지가 존재한다는 말입니다. 즉 섹션(항목)이 두가지가 존재한다는 말입니다. 일반적으로 -a를 생략하고 입력하면 첫번째 섹션(passwd (1))만 출력됩니다. 하지만 -a옵션을 주게되면 passwd (1)부분을 마지막까지 다 읽은 후 그다음 섹션으로 넘어가게 됩니다. 즉 한번에 모든 섹션을 읽게 됩니다. 따라서 man passwdman -a passwd는 조금 다른 화면을 보여주게 됩니다.

[solaris10vm:/]# man passwd
페이지를 다시 포맷 중입니다.   기다려 주십시오 . . .  완료

User Commands                                              passwd(1)
. . .


[solaris10vm:/]# man -a passwd
페이지를 다시 포맷 중입니다.   기다려 주십시오 . . .  완료
페이지를 다시 포맷 중입니다.   기다려 주십시오 . . .  완료
::::::::::::::
/tmp/mtpsw4bj
::::::::::::::

User Commands                                              passwd(1)
. . .
[섹션1을 다 읽은 후]
--계속--(다음 파일:  /tmp/mpeee4bj)
File Formats                                              passwd(4)
. . .


이와 같이 임시폴더(/tmp/12345678)에 모든 섹션을 불러온 후 한 섹션이 끝날 때마다 그 다음 섹션으로 넘어가게 됩니다.


-l, -s 옵션
위에서 보신바와 같이 해당 명령어 각 섹션을 보여주게 되는대 섹션의 내용은 다음과 같습니다.

1. 일반 명령어
2. 시스템 명령어
3. C프로그래밍을 위한 라이브러리
4. 시스템 설정 파일들의 형식
5. 표준안, 매크로 등
6. 게임이나 데모
7. 디바이스 파일

passwd명령어는 1번과 4번 섹션이 존재했었습니다. -a 옵션은 순서대로 모든 섹션을 보여주게 됩니다. 반대로 한 섹션만 보려한다면 이때 "-s섹션넘버"를 사용해 해당 섹션만 볼 수 있게 됩니다.
[solaris10vm:/]# man -s4 passwd
페이지를 다시 포맷 중입니다.   기다려 주십시오 . . .  완료
File Formats                                              passwd(4)
. . .

위와 같이 -l 옵션으로 섹션의 넘버를 확인해 볼 수 있으며 확인한 번호를 이용해 -s 옵션으로 해당하는 섹션만 골라 볼 수 있습니다. 각 섹션의 넘버는 해당 "명령어(섹션넘버)"오 나오게 됩니다.


-k 옵션
이 옵션은 다음에 찾고자 하는 키워드를 입력하면 키워드로서 man 페이지 리스트를 찾아볼 수 있는 기능을 합니다. 문제는 root사용자가 각 man 페이지와 키워드의 DB를 만든 후에 사용가능한대 이를 만드는 명령어는 "catman -w" 명령어를 이용합니다. 이 -k 옵션은 windex DB에서 키워드를 찾게 되는대 위에서 말한바와 같이 DB를 만든 후 사용이 가능합니다. 이말은 즉 솔라리스 설치후에 windex DB가 자동으로 만들어 지지 않기 때문에 "catman -w" 명령을 통해 DB를 생성하게 됩니다. DB생성 이전에 -k 옵션을 사용하셧다면 다음과 같은 메시지를 만나기 쉽습니다.
[solaris10vm:/]# man -k passwd
/usr/share/man/ko/windex: 해당 파일이나 디렉토리가 없음
/usr/share/man/windex: 해당 파일이나 디렉토리가 없음

catman -w 명령을 입력하게 되면 DB생성의 시간이 걸립니다. DB생성이 끝나면 특별한 메시지가 나타나진 않습니다. 때문에 바로 확인해 보면 다른 메시지를 보실 수 있습니다.
[solaris10vm:/]# man -k passwd
d_passwd  d_passwd (4)   - dial-up password file
getpw        getpw (3c)       - get passwd entry from UID
kpasswd    kpasswd (1)     - change a user\&'s Kerberos password
. . .


man 페이지 에서 페이지 컨트롤
<Space> : 다음 페이지 출력
<Enter>  : 다음 라인 출력
b : 이전 페이지 출력
d : 다음 반 페이지 출력
/WORD : 도움말에서 원하는 단어 찾기 (WORD 부분에 찾을 단어)
n :  방금 찾은 단어를 한번 더 찾기
q, Ctrl + C : 도움말 빠저 나가기
h : 위에 나열된 페이지 컨트롤 이외의 좀더 다양한 페이지 컨트롤 단축키를 출력합니다.

가끔 man으로 열어본 도움말을 저장하고 싶을때가 있습니다. 또는 필요에 의해서 저장을 할때가 있습니다. 그럴때 사용하는 명령어는 두가지가 있습니다.
[solaris10vm:/]# mann passwd > passwd_man1.txt
[solaris10vm:/]# mann passwd | col -b > passwd_man2.txt
이 두가지 방법중 보통 후자의 "passwd_man2.txt"를 사용하게 됩니다. 그 이유는 SOLARIS에서는 1, 2번 파일 모두 cat으로 열어보았을때 차이가 나타나지 않지만 Windows환경에서 보면 2번파일이 SOLARIS에서 출력된 화면과 동일하게 보이게 됩니다. 물론 메모장으로 열어보면 이상한 글자들 중간중간 섞여 나오지만 텍스트전문 에디터(Edit Plus, Ultra Edit 등..)로 열어 볼 경우 SOLARIS에서 보았던 화면과 동일한 텍스트 라인으로 출력됩니다. 물론 후자가 좀더 용량도 적습니다. 간접적으로 체험은 strings 명령어로 열어보았을때 1번과 2번 파일이 서로 다른 라인을 보여주게 됩니다.(cat으로 열어볼시 거의 동일한 화면임)


SEE ALSO
man 페이지를 읽다보면 중간에 SEE ALSO라는 항목이 다음과 같은식으로 보이게 됩니다. (아레 SEE ALSO 부분은 passwd의 man 페이지 입니다.)
at(1),   batch(1),   finger(1),   login(1),   nistbladm(1),
orcron(1M), . . .
이 부분은 현재 도움말과 관련된 다른 도움말의 리스트가 나열됩니다. 나열될때 섹션넘버까지 같이 나열되게 됩니다.



테스트 환경 : Solaris 10 u6, 한글 환경
테스트 환경과 다른 환경에서 다른 메시지가 출력될 수 있습니다.
틀린부분은 알려주시면 수정하도록 하겠습니다.
Posted by Special Alex