`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 regex및 man 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.