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गिट और बैश मैनपेज दोनों को देखने के लिए) मांगते हैं, तो manवास्तव में सबसे पहले git-bashमैनपेज देखने की कोशिश करते हैं । आप इसे डिबग आउटपुट में देख सकते हैं यदि आप इसे सक्षम करते हैं -d।
इस मैन फ़ीचर को "सबपेज" कहा जाता है। आप मैन-डीबी में उप-कोड लागू करने वाले सोर्स कोड को पढ़ सकते हैं (धन्यवाद, स्टीफन बिट )। "सबपेज" के लिए 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
git init