Answers:
的某些实现(man
包括Ubuntu所使用的实现)将其搜索词中的空格替换为连字符,并尝试在该名称下查找手册页。因此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中实现子页面的源代码(感谢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
man
。这绝不是普遍的或特别的普遍性。
git init