`man`과`man (#)`의 차이점은 무엇입니까?


31

누군가 man 7 regex가 Stackoverflow를 참조 하는 것을 보았습니다 . 나는 man regex비슷한 결과를 얻었으며 약간의 차이가있는 것으로 보입니다.

이 마법의 숫자 7은 무엇입니까? 검색 man 7 unixGoogle에서 것은 나에게 UNIX (7)와 같은 더 신비스러운 결과를 얻을 수 ...

답변:


33

UNIX(7)

"UNIX (7)"에 대한 귀하의 질문에 대답하기 위해, 이것은 "섹션 7 (기타)의 UNIX에 대한 매뉴얼 페이지"를 말하는 표준 규칙입니다.

과 같은 페이지를 열려면 init(8)다음 명령을 사용하십시오 man 8 init.


man regex vs man 7 regex

사이의 '미묘한 차이'의 질문에 대답하려면 man regexman 7 regex:

man기본적으로 섹션 번호 가 가장 낮은 페이지가 열립니다 . 이 경우 섹션 3 (라이브러리 호출)입니다. 섹션 7 (기타)에서 페이지를 여는 것은 상당히 다릅니다.

다른 섹션의 페이지는 다른 것을 다루지 만이 경우에는 비슷하지만 다음을 고려하십시오 apt.

man -f apt:

apt (8)              - Advanced Package Tool
apt (1)              - annotation processing tool

이 예 apt에서 섹션 8 (시스템 관리 명령)의 섹션은 섹션 1 (실행 가능 프로그램 또는 쉘 명령)의 페이지와 완전히 관련이 없습니다.

나중에 참조 man -f PAGE_NAME할 수 있도록 모든 섹션에서 해당 이름의 모든 페이지를 찾는 데 사용하십시오 . 그런 다음 원하는 섹션에서 페이지를 열 수 있습니다 man SECTION PAGE_NAME.

맨 페이지 섹션

다양한 페이지 섹션은 다음과 같으며 다음에서 찾을 수 있습니다 man man.

  1. 실행 가능한 프로그램 또는 쉘 명령
  2. 시스템 호출 (커널이 제공하는 기능)
  3. 라이브러리 호출 (프로그램 라이브러리 내의 기능)
  4. 특수 파일 (보통 /dev)
  5. 파일 형식 및 규칙 /etc/passwd
  6. 계략
  7. 기타는 예를 들어, (매크로 패키지와 규칙 포함) man(7),groff(7)
  8. 시스템 관리 명령 (일반적으로 루트에만 해당)
  9. 커널 루틴 [비표준]

14

섹션 번호

man모든 섹션 man 7의 맨 페이지를 표시하고 섹션 7의 맨 페이지를 표시합니다. 따라서 여기서 7은 매뉴얼 페이지를 찾고있는 특정 명령 섹션을 나타냅니다.

제공되는 섹션은 사람에게 매뉴얼의 해당 섹션 만 보도록 지시합니다.


섹션

매뉴얼의 섹션 번호와 그에 포함 된 페이지 유형에 대해서는 다음 표를 참조하십시오.

1 : 실행 가능한 프로그램 또는 쉘 명령

2 : 시스템 호출 (커널이 제공하는 기능)

3 : 라이브러리 호출 (프로그램 라이브러리 내의 기능)

4 : 특수 파일 (보통 / dev에 있음)

5 : 파일 형식 및 규칙 (예 : / etc / passwd)

6 : 게임

7 : 기타 (매크로 패키지 및 규칙 포함), 예 : man (7), groff (7)

8 : 시스템 관리 명령 (일반적으로 루트 전용). 다양한 주제, 규칙 및 프로토콜, 문자 세트 표준 및 기타 사항에 대한 개요.

9 : 커널 루틴 [비표준]


둘 이상의 섹션에있는 명령

대부분의 경우 man추가 n 없이 명령 을 사용하려고합니다 . 그러나 경우에 따라 명령이 둘 이상의 섹션에 나타납니다. 예를 들어, 명령을 실행 man open하면 섹션 1에서 openvt에 대한 매뉴얼 페이지를 얻을 수 있습니다. 그러나 C (또는 위의 표에 따라 시스템 호출) 명령으로 open에 대한 매뉴얼 페이지를 보려면 발행해야합니다. man 2 open.

매우 유사한 예는 man printfand man 3 printf입니다. 명령을 실행하고 출력의 차이를 직접 확인하십시오.


man 7 unix(UNIX (7)) 의 문제

따라서 UNIX (7)는 7 절에 속한다는 것을 의미합니다.


섹션 번호를 제공하지 않으면 기본적으로 어떤 섹션이 표시됩니까?

기본 조치는 사전 정의 된 순서에 따라 사용 가능한 모든 섹션을 검색하고 페이지가 여러 섹션에 존재하더라도 발견 된 첫 번째 페이지 만 표시하는 것입니다.


명령의 섹션 번호를 어떻게 알 수 있습니까?

용어 / 명령이 속하는 섹션을 찾아야하는 man -k경우 (apropos 명령과 동일). 그래서, man -k printf 정규 표현식으로 키워드의 printf에 대한 짧은 설명과 매뉴얼 페이지의 이름을 검색합니다. 일치하는 내용을 인쇄하십시오. (와 동일 apropos -r printf). 명령을 내리십시오, 당신이 얻는 톤을보십시오. 하위 문자열 일치를 피해야하는 경우 (예 : 실행시 sprintf가 표시됨 man -k printf) ^term아래와 같이 제한해야합니다.

man -k '^printf'
Printf (3o)          - Formatted output functions.
printf (1)           - format and print data
printf (3)           - formatted output conversion

관련 명령

관련 명령은 apropos위에 표시된대로 매뉴얼 페이지 이름 및 설명을 검색합니다. 찾고있는 매뉴얼 페이지를 모르지만 일반적인 아이디어가있는 경우이 명령을 사용하십시오.


그러나에 대한 문서 regex는 7 섹션이 없습니다 ...
Aditya MP

@adityamenon 업데이트 된 답변을 참조하십시오. 완료되기 전에 게시되었습니다.
Masroor

알다시피 여기서 '섹션'은 "프로그램 분류"를 의미합니다.
Aditya MP

@adityamenon 맞아, 당신이 사용하는 용어에 더 익숙했을 것입니다.
Masroor

특히, "섹션"은 모든 매뉴얼 페이지가 하나의 두꺼운 인쇄 매뉴얼에있는 것처럼 "매뉴얼의 섹션"을 의미합니다.
Jonathan Callen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.