`man git init` 올바른 매뉴얼 페이지를 얻는 방법은 무엇입니까?

`man git init` 올바른 매뉴얼 페이지를 얻는 방법은 무엇입니까?

따라서 man git initUbuntu 14.04 시스템에서 bash 프롬프트에 입력하면 동일한 효과가 있는 것 같습니다 man git-init. 어떻게 되는지는 잘 모르겠습니다.

(즉, man페이지는 매뉴얼이 아닌 한 이 구성을 허용하지 않는 것 같지만 매뉴얼 페이지는 해당 섹션에서 나온 것 같습니다.manman mangitsection1

이것이 문서화되지 않은 사용법이 지원됩니까 man? 내가 문서를 오해했나요 man? 또 다른 마법이 벌어지고 있는 걸까요? 누구든지 설명해 주실 수 있나요?

답변1

Ubuntu에서 사용하는 구현을 포함하여 일부 구현 man에서는 검색어의 공백을 하이픈으로 바꾸고 해당 이름 아래에서 매뉴얼 페이지를 찾으려고 합니다. 그래서 man git init와 같은 것을 찾고 있습니다 man git-init. 마찬가지로 man run partsman ntfs 3g작동합니다( 시스템에 및 이 있는 경우 run-parts).ntfs-3g

하지만 이는 단어 쌍에 대해서만 수행되므로 man git annex sync작동하지 않습니다(비록 man git-annex sync이것이 다시 단어 쌍이기 때문에 작동하지만).

실제로 두 개의 매뉴얼 페이지를 요청하면(예: man git bashgit 및 bash 매뉴얼 페이지 보기) man실제로 매뉴얼 페이지를 먼저 찾으려고 시도합니다 git-bash. 를 사용하여 활성화하면 디버그 출력에서 ​​이를 확인할 수 있습니다 -d.

이 man 기능을 "하위 페이지"라고 하며 다음을 읽을 수 있습니다.man-db에서 하위 페이지를 구현하기 위한 소스 코드(감사해요,스티븐 지터). 수색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

관련 정보