Man
man git init
如何獲得正確的手冊頁?
因此,
man git init
在 Ubuntu 14.04 系統上輸入 bash 提示符似乎與 相同man git-init
,只是我不太確定如何。(ie )的
man
頁面似乎不允許這種結構,除非是手冊的 a,但手冊頁似乎來自 section 。man``man man``git``section``1
這是受支持的未記錄用法
man
嗎?我是否誤解了 的文件man
?是不是發生了其他的魔法?有人願意解釋嗎?
的一些實現
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