man, 명령어 정보를 알아보는 명령어
on Linux
man 은 여러가지 명령어들에 대한 매뉴얼을 터미널상에 보여주는 명령어다.
매뉴얼 페이지는 less 형식으로 띄워주기 때문에 less 명령어에도 익숙해지는 것이 편하며, 모를 경우 less 화면에서 h 를 누르면 도움말 페이지에도 들어갈 수 있다.
man [섹션] [옵션] [찾을 명령어]
처럼 사용하여, 특정 명령어에 대해 특정 섹션을 확인하거나, 해당 맨페이지의 위치를 볼 수 있다.
실제로 매뉴얼 페이지들은 특정 경로 아래에 파일들로써 쭉 저장되어 있고, man 명령어를 사용했을 때 이들을 읽어 less 로 보여주는 것이다.
manpath
를 사용하여 man 명령이 어느 경로를 참조하고 있는지 확인할 수 있으며, 일반적으로는 /usr/share/man
, /usr/local/man
, /usr/local/share/man
등이 있다.
옵션 | 내용 |
---|---|
-w | 맨페이지의 경로 출력 |
-f | 명령어 이름과 동일한 맨페이지들(여러 섹션들)을 전부 출력 == whatis |
-k | 명령어 이름을 포함한 맨페이지들을 전부 출력 == apropos |
-a | 해당 명령어가 가진 모든 섹션 페이지들을 less 로 순서대로 띄워줌 |
-s | 특정 섹션의 맨페이지를 less 로 띄워줌 |
예를 들어 아래처럼 which 에 대한 맨페이지 경로를 확인할 수 있다.
$ man -w which
/usr/share/man/man1/which.1.gz
man 명령어도 매뉴얼 페이지를 가지고 있으며, 괄호로 표시된 숫자는 섹션을 의미한다. 즉 1번과 7번 섹션에 해당하는 내용의 맨페이지를 확인할 수 있는 것이다.
$ man -f man
man (1) - an interface to the system reference manuals
man (7) - macros to format man pages
섹션은 총 9개로 구분되어 아래와 같이 해당 섹션에서 해당 정보들을 확인할 수 있으며, 명령어마다 제공되지 않는 섹션도 존재한다.
섹션 | 내용 |
---|---|
1 | 일반 명령어 관련 매뉴얼 |
2 | 시스템콜 관련 매뉴얼 |
3 | C 표준 라이브러리 관련 매뉴얼 |
4 | 장치 드라이버 / 특수 파일에 대한 정보 |
5 | 파일 형식이나 컨벤션에 관한 정보 |
6 | 게임이나 화면 보호기에 대한 정보 |
7 | 리눅스 파일 표준, 시그널 목록, 프로토콜 등에 대한 정보 |
8 | 시스템 관리 명령어 / 데몬 정보 |
9 | 커널 관리 정보 |
man 7 man
혹은 man -s 7 man
처럼 특정 섹션 맨페이지를 열어볼 수 있으며, 섹션을 넣지 않을시에는 디폴트로 1번 섹션이 로드된다.
리눅스 시스템에서는 파일 기반의 메타데이터 데이터베이스가 있어, whatis 를 통해 조회가 가능하다.
앞서 -f 옵션은 whatis 명령어와 같다고 했는데, whatis 를 사용해보면 실제로 동일한 것을 확인할 수 있다.
whatis 는 명령에 대한 기능을 한줄로 터미널에 출력해주며, 키워드가 명령어와 완전히 일치한 문자열들에 대해서만 whatis db에서 확인 가능하다.
$ whatis shutdown
shutdown (8) - Halt, power-off or reboot the machine
shutdown (2) - shut down part of a full-duplex connection
$ man -f shutdown
shutdown (8) - Halt, power-off or reboot the machine
shutdown (2) - shut down part of a full-duplex connection
-k 옵션은 apropos 와 동일하며, 마찬가지로 whatis 데이터베이스에서 명령어를 찾아준다.
whatis 와는 다르게 명령어가 동일할 필요는 없고, 문자열이 포함된 모든 내용들을 검색한다는 것이 특징이다.
$ apropos shut
plog (1) - starts up, shuts down or lists the log of PPP connections
poff (1) - starts up, shuts down or lists the log of PPP connections
pon (1) - starts up, shuts down or lists the log of PPP connections
shutdown (2) - shut down part of a full-duplex connection
shutdown (8) - Halt, power-off or reboot the machine
systemd-backlight (8) - Load and save the display backlight brightness at boot and shutdown
...
shut 이라는 문자열을 whatis 데이터베이스에서 검색해오는데, 해당 문자열이 명령어가 아닌, 설명 부분에 담겨 있어도 그냥 긁어오는 것을 볼 수 있다.