따라서 man git init
Ubuntu 14.04 시스템에서 bash 프롬프트에 입력하면 동일한 효과가 있는 것 같습니다 man git-init
. 어떻게 되는지는 잘 모르겠습니다.
(즉, man
페이지는 매뉴얼이 아닌 한 이 구성을 허용하지 않는 것 같지만 매뉴얼 페이지는 해당 섹션에서 나온 것 같습니다.man
man man
git
section
1
이것이 문서화되지 않은 사용법이 지원됩니까 man
? 내가 문서를 오해했나요 man
? 또 다른 마법이 벌어지고 있는 걸까요? 누구든지 설명해 주실 수 있나요?
답변1
Ubuntu에서 사용하는 구현을 포함하여 일부 구현 man
에서는 검색어의 공백을 하이픈으로 바꾸고 해당 이름 아래에서 매뉴얼 페이지를 찾으려고 합니다. 그래서 man git init
와 같은 것을 찾고 있습니다 man git-init
. 마찬가지로 man run parts
및 man ntfs 3g
작동합니다( 시스템에 및 이 있는 경우 run-parts
).ntfs-3g
하지만 이는 단어 쌍에 대해서만 수행되므로 man git annex sync
작동하지 않습니다(비록 man git-annex sync
이것이 다시 단어 쌍이기 때문에 작동하지만).
실제로 두 개의 매뉴얼 페이지를 요청하면(예: man git bash
git 및 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