Contents

System/OS
2003.04.23 11:18

[linux] man 명령어 뽀개기..

조회 수 8966 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
유닉스에 적응하면서 겪게 되는 낯설음 중의 하나가 man 명령어의 생소함이다.
윈도우의 도움말과는 달리 man 명령어는 상당히 내용이 어렵고 형식이 지나치게 딱딱한 면이 없지 않고, 웹과 같은 하이퍼텍스트가 이미 일반화된 지금에는 그다지 매력적으로 보이지 않을 수도 있지만 유닉스 매뉴얼 페이지의 강점은 그 간결함과 통일된 형식이다.
익숙해질수록 편리해지는 유닉스와 마찬가지로 매뉴얼 페이지도 익숙해지는 노력을 들일만한 가치가 있다.


명령 형식
man [-al] name
man [-s section] name
man -k keyword


섹션 및 내용
1 : Commands available to users (일반 명령어)
2 : Unix and C system calls (시스템 프로그래밍을 위한 라이브러리)
3 : C library routines for C programs (C 프로그래밍을 위한 라이브러리)
4 : Special file names (시스템 설정 파일들의 형식)
5 : File formats and conventions for files used in Unix (표준안, 매크로등)
6 : Games (게임이나 데모)
7 : Word processing packages (디바이스 파일)
8 : System administration commands and procedures 


옵션
-a :
-a 옵션(All)은 사용하면 모든 항목의 맨 페이지를 볼 수 있다.
man으로 도움말을 선택하면 항상 첫 번째 항목의 도움말만 볼 수 있으나 -a 옵션을 사용하면 모든 항목에 있는 맨 페이지가 섹션의 순서대로 출력된다.

-l :
man 다음에 -l 옵션을 사용하는 경우는 맨 페이지의 리스트를 볼 수 있다.
-l 옵션을 사용하면 맨 페이지의 내용을 출력하지 않고 어떤 섹션에 맨 페이지가 있는지 리스트만 출력된다.

-s :
보고 싶은 맨 페이지의 이름을 man 명령어 다음에 입력을 해야 하는데 같은 이름의 맨 페이지가 여러 섹션에 존재할 경우에는 맨 처음 섹션의 내용만 출력된다.
원하는 맨 페이지가 첫 섹션이 아닐 경우에는 -s 옵션 다음에 섹션 번호를 같이 입력하여 원하는 섹션을 선택할 수 있다.

-k :
-k 옵션 다음에 찾고자 하는 키워드를 입력하면 키워드로서 맨 페이지 리스트를 찾아볼 수 있다. 단 이 옵션은 솔라리스를 설치한 후에 바로 쓸 수 있는 것이 아니다.
root 사용자가 미리 각 맨 페이지와 키워드의 데이타베이스를 만든 후에만 사용 가능하다.


man에서 사용할 수 있는 명령어
명령어 : 내용
: 다음 페이지 출력
: 다음 라인 출력
b : 이전 페이지 출력
d : 다음 반 페이지 출력
/<단어> : 도움말에서 원하는 단어 찾기
n : 방금 찾은 단어를 한번 더 찾기
q : 도움말을 빠져 나가기


여러 섹션에 이름이 같은 항목이 존재하는 경우를 쉽게 찾기 위해서는 man -k 명령을 사용하면 좋다. (man -k 대신에 apropos명령어를 써도 된다)
예를 들어 printf의 경우 man -k 명령을 쓰면 다음과 같은 결과를 얻을 수 있다.

$ man -k printf 

printf               (1)  - format and print data 
printf               (3)  - formatted output conversion 

시스템 설정 파일의 문법도 매뉴얼 페이지에서 다루는 항목 중의 하나이다.
예를 들어 /etc/passwd의 문법을 참조하고 싶을 때는 다음과 같이 원하는 매뉴얼 페이지를 찾을 수 있다. (참고로 섹션 5는 시스템 설정파일을 다룬다.)

$ man -k passwd 

passwd               (1)  - update a user's authentication tokens(s) 
passwd               (5)  - password file 

$ man 5 passwd 
PASSWD(5)                  File formats                 PASSWD(5) 

NAME 
       passwd - password file 

DESCRIPTION 
       Passwd  is  a  text file, that contains a list of the sys- 
       tem's accounts, giving for each account some useful infor- 
       mation like user ID, group ID, home directory, shell, etc. 
       Often it also contains the encrypted  passwords  for  each 
       account.   It  should  have  general read permission (many 
       utilities, like ls(1) use it  to  map  user  IDs  to  user 
       names), but write access only for the superuser. 


매뉴얼 페이지를 계속 살펴보면 알겠지만, 리눅스 시스템의 매뉴얼 페이지는 단순히 리눅스 운영체제와 프로그래밍에 관련된 부분 이외에 Perl 레퍼런스 가이드(perl reference guide)와 같은 얼핏 생각하기에는 따로 다운받아야 할 것 같은 정보도 방대한 양이 이미 들어가 있음을 알 수 있다. 

참고로 GNU 시스템에서는 man보다는 info의 사용을 권장하고 있다. info는 man과 비슷한 구조를 갖고 있지만 하이퍼텍스트 기능이 들어가 있어 브라우징이 좀 더 편리하다.


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
935 Develop [c] 함수 요약 (검색해서 쓰세요..) hooni 2003.04.23 8918
934 Develop [c] 파일(File) 관련 함수 샘플 코드 file hooni 2003.04.23 7570
» System/OS [linux] man 명령어 뽀개기.. hooni 2003.04.23 8966
932 Develop [c] 패스워드 암호화/사용자 정보 보기 file hooni 2003.04.23 7126
931 Develop [c] 파일 복사(copy) 프로그램 샘플 소스 file hooni 2003.04.23 6908
930 Develop [c] UCP/TCP 채팅 소스 - 정리해야 함.. file hooni 2003.04.23 8053
929 Develop [c] IP 스푸핑(ip spoof) 소스 - 정리해야 함 file hooni 2003.04.23 7736
928 Develop [c] 시스템공학 레포트 (pass1, pass2) file hooni 2003.04.23 7296
927 Develop [c] 레포트용으로 제출했던 여러 소스코드 모음 file hooni 2003.04.23 8231
926 Develop [c] 심심해서.. fseek() 예제.. file hooni 2003.04.23 7392
925 Develop [c] 프로세스 정보 출력하기.. file hooni 2003.04.23 7011
924 Develop [c] i2osp 임시로.. ㅋㅋ file hooni 2003.04.23 7975
Board Pagination Prev 1 ... 16 17 18 19 20 21 22 23 24 25 ... 98 Next
/ 98