다음 명령의 출력에 나타나는 Linux 매뉴얼 페이지 폴더 구성/구조에 대한 질문이 있습니다.
[root@centos8 man]# pwd
/usr/share/man
[root@centos8 man]# ls -d ./man*
./man0p ./man1p ./man2 ./man3 ./man3x ./man4x ./man5x ./man6x ./man7x ./man8x ./man9x
./man1 ./man1x ./man2x ./man3p ./man4 ./man5 ./man6 ./man7 ./man8 ./man9 ./mann
폴더가 왜 이렇게 많아? 예를 들어, man0p, man1p, man2, man2x는 무엇입니까?
감사해요.
답변1
위에서 언급했듯이 이 숫자가 무엇을 의미하는지에 대한 질문에 대한 좋은 답변이 이미 있습니다.
접미사(예: x
in man2x
) 의 경우Wikipedia 매뉴얼 페이지의 기사포함하다:
일부 부분은 접미사로 더 세분화됩니다. 예를 들어 일부 시스템에서는 3C 부분이 C 라이브러리 호출용이고, 3M 부분이 수학 라이브러리용입니다. 그 결과 섹션 8(시스템 관리 명령)이 때때로 기본 명령 섹션의 1M 하위 섹션으로 강등됩니다. 일부 섹션 접미사는 섹션 전체에서 공통된 의미를 갖습니다.
Subsection | Description -----------|------------------------------ p | POSIX specifications x | X Window System documentation
(언어마다 접미사가 많기 때문에 3절은 예외인 경우가 많습니다.)
따라서 man3x
X Windows 시스템용 C 라이브러리 함수가 됩니다.
답변2
일반적으로 말하면:
- 사용자 명령
- 시스템 수준 함수 호출
- 라이브러리 기능
- 규약
- 구성 파일
- 게임
- 기타 정보
- 시스템 명령
일부 시스템에는 섹션 9에 내부 커널 루틴이 있습니다.
오후 3시 페이지도 볼 수 있습니다. 이것은 Perl 모듈입니다. 저는 방금 오전 3시 페이지를 발견했는데, 이는 GNU awk 확장인 것 같습니다! 기쁨.
답변3
위에 몇 가지 접근성 정보를 추가하기 위해 매뉴얼 페이지를 호출할 때 명령에 섹션 번호를 추가하면 매뉴얼 페이지 디렉토리 구조가 어떻게 작동하는지 확인할 수 있습니다.
예를 들어, man printf
Linux에서 실행 중이 나타납니다.사용자 명령printf
섹션 1의 이 유틸리티에 대한 매뉴얼 페이지. man printf
유사한 것이 BSD에서 제안되었습니다.BSD 공통 명령 매뉴얼섹션 1의 매뉴얼 페이지 printf
.
또는 man 3 printf
Linux에서 실행 중인 경우 다음과 같은 결과를 얻을 수 있습니다.리눅스 프로그래머 매뉴얼printf
매뉴얼 페이지 섹션 3 C 프로그래밍 언어의 함수 계열에 대한 매뉴얼 페이지입니다. man 3 printf
유사한 것이 BSD에서 제안되었습니다.BSD 라이브러리 기능 매뉴얼섹션 3의 C 함수 printf
에 대한 매뉴얼 페이지 .
처음 실행하면 man foo
man 유틸리티는 섹션 1에서 검색을 시작하고 매뉴얼 페이지를 찾 foo
거나 검색이 끝날 때까지 더 높은 번호의 섹션을 계속 검색합니다. 맨페이지의 첫 번째 줄을 보면 맨페이지가 어느 섹션에 있는지 알 수 있습니다. 오른쪽 상단 또는 왼쪽 상단에 매뉴얼 페이지의 디렉토리 구조에 해당하는 섹션 번호가 표시됩니다 foo(N)
.N
man foo
첫 번째 히트까지 모든 섹션을 실행하고 검색하는 것과 비교하여 man N bar
where N
is the targetsection을 실행하면 해당 섹션으로만 검색이 제한됩니다.