/home/caml-shaving

man page

숫자가 있다

2018-11-06

태그: dev

오늘도 평화로운 하루를 보내며 커맨드 라인 툴로 실험을 하고 데이터를 뽑아내고 있었다. 필요한 옵션은 man 페이지 뒤져보면 다 나와서 너무 행복해하며 일하고 있었는데, etags 페이지를 읽다가 문득 다음 숫자가 눈에 들어왔다:

The etags program is used to create a tag table file, in a format understood by emacs(1); …

문득 왜 emacs가 아니라 emacs(1)이라고 되어 있는거지? 라는 생각이 들었는데, 다시 보니 man 페이지 이름도 etags(1)이었다. 뭔가 타입 같다는 생각이 들어서 검색해보니 비슷한 역할을 하는 것이었다. 심지어 man의 man 페이지에 떡하니 있었다…(man man이라니 이 얼마나 recursive한 커맨드인가..)

The table below shows the section numbers of the manual followed by the types of pages they contain.

Number Section
1 User Commands
2 System Calls
3 C Library Functions
4 Devices and Special Files
5 File Formats and Conventions
6 Games et. al.
7 Miscellanea
8 System Administration tools and Daemons

즉 1번부터 8번까지 어떤 매뉴얼 섹션인지를 나타내주는 타입 같은 역할을 하는 친구였던 것이다. 오호. 예를 들어 다음 커맨드는:

man 1 printf

실제 유저가 사용할 수 있는 커맨드인 printf에 대한 매뉴얼 페이지가 나오는 반면, 다음 커맨드는:

man 3 printf

제목부터가 “Linux Programmer’s Manual”인, C의 stdio 라이브러리에 있는 printf 함수에 대한 매뉴얼이 나온다.

그리고 재미있게도 다음 커맨드는:

man -a printf

1번부터 8번까지, 존재하는 모든 printf에 대한 매뉴얼을 보여주는데, 그 중에는 무려 OCaml 내장 함수도 있었다! man -3o printf로 따로 볼 수 있기도 하다. OCamlDoc이라니. 와우.