`man git init`는 어떻게 올바른 매뉴얼 페이지를 얻습니까?


52

따라서 man git initUbuntu 14.04 시스템에서 bash 프롬프트 를 입력 하면과 같은 작업을 수행하는 것 같습니다 man git-init.

man페이지는 man(즉 man man)하지 않는 한,이 구조를 허용하지 않는 것 git이었다 section매뉴얼을하지만 매뉴얼 페이지 섹션에서 온 것으로 보인다 1.

이 문서화되지 않은 사용법이 지원 man합니까? 의 문서를 잘못 이해 했습니까 man? 다른 마술이 일어나고 있습니까? 누구든지 설명해야합니까?


git-init은 다음에 대한 래퍼 일 수 있습니다.git init
Jeff Schaller

답변:


71

manUbuntu에서 사용하는 구현을 포함하여의 일부 구현은 검색 용어의 공백을 하이픈으로 바꾸고 해당 이름으로 매뉴얼 페이지를 찾습니다. 따라서 man git init와 같은 것을 찾습니다 man git-init. 이와 유사하게, man run parts그리고 man ntfs 3g작업 (당신이있는 경우 run-partsntfs-3g시스템에).

그러나 단어 쌍으로만이 man git annex sync작업을 수행 하므로 작동하지 않습니다 ( man git-annex sync다시 단어 쌍 이므로 작동하지 않음 ).

실제로 두 개의 수동 페이지를 요청하면 (예 : man git bashgit 및 bash 맨 페이지를 모두 보려는 경우) 맨 man먼저 git-bash맨 페이지 를 찾습니다 . 로 활성화하면 디버그 출력에서이를 확인할 수 있습니다 -d.

이 매뉴얼 기능을 "서브 페이지"라고 하며 man-db에서 서브 페이지를 구현 하는 소스 코드를 읽을 수 있습니다 (감사합니다, Stephen Kitt ). "하위 페이지"에 대한 man(1)맨 페이지 를 검색하면 --no-subpages옵션 아래에서이 동작에 대한 설명으로 이어집니다 .

--no-subpages
      By default, man will try to interpret pairs of manual page
      names given on the command line as equivalent to a single
      manual page name containing a hyphen or an underscore.  This
      supports the common pattern of programs that implement a
      number of subcommands, allowing them to provide manual pages
      for each that can be accessed using similar syntax as would be
      used to invoke the subcommands themselves.  For example:

        $ man -aw git diff
        /usr/share/man/man1/git-diff.1.gz

      To disable this behaviour, use the --no-subpages option.

        $ man -aw --no-subpages git diff
        /usr/share/man/man1/git.1.gz
        /usr/share/man/man3/Git.3pm.gz
        /usr/share/man/man1/diff.1.gz

CentOS 6.6에서는 작동하지 않는 것 같습니다. 우분투 만입니까?
와일드 카드

1
@Wildcard 어느 부분이 작동하지 않는 것 같습니까? CentOS가 man-db (다른 man구현이 있음)를 사용하고 서브 페이지가 비활성화되지 않은 한 (예 :로 --no-subpages) 작동해야합니다. 데비안을 사용하고 있기 때문에 분명히 우분투가 아닙니다.
derobert

2
중요한 것은 이것이의 특정 구현에 고유하다는 것 입니다 man. 결코 보편적이거나 특별한 것이 아닙니다.
chepner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.