System/OS
2003.04.23 11:18
[linux] man 명령어 뽀개기..
조회 수 8966 댓글 0
유닉스에 적응하면서 겪게 되는 낯설음 중의 하나가 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과 비슷한 구조를 갖고 있지만 하이퍼텍스트 기능이 들어가 있어 브라우징이 좀 더 편리하다.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
935 | Develop | [c] 함수 요약 (검색해서 쓰세요..) | hooni | 2003.04.23 | 8918 |
934 | Develop | [c] 파일(File) 관련 함수 샘플 코드 | hooni | 2003.04.23 | 7570 |
» | System/OS | [linux] man 명령어 뽀개기.. | hooni | 2003.04.23 | 8966 |
932 | Develop | [c] 패스워드 암호화/사용자 정보 보기 | hooni | 2003.04.23 | 7126 |
931 | Develop | [c] 파일 복사(copy) 프로그램 샘플 소스 | hooni | 2003.04.23 | 6908 |
930 | Develop | [c] UCP/TCP 채팅 소스 - 정리해야 함.. | hooni | 2003.04.23 | 8053 |
929 | Develop | [c] IP 스푸핑(ip spoof) 소스 - 정리해야 함 | hooni | 2003.04.23 | 7736 |
928 | Develop | [c] 시스템공학 레포트 (pass1, pass2) | hooni | 2003.04.23 | 7296 |
927 | Develop | [c] 레포트용으로 제출했던 여러 소스코드 모음 | hooni | 2003.04.23 | 8231 |
926 | Develop | [c] 심심해서.. fseek() 예제.. | hooni | 2003.04.23 | 7392 |
925 | Develop | [c] 프로세스 정보 출력하기.. | hooni | 2003.04.23 | 7011 |
924 | Develop | [c] i2osp 임시로.. ㅋㅋ | hooni | 2003.04.23 | 7975 |