Algumas implementações man
, incluindo a usada pelo Ubuntu, substituem espaços em seus termos de pesquisa por hífens e tentam encontrar uma página de manual com esse nome. Então, man git init
parece a mesma coisa que man git-init
. Da mesma forma, man run parts
e man ntfs 3g
trabalhe (se você tiver run-parts
e ntfs-3g
no seu sistema).
Porém, ele só faz isso com pares de palavras, portanto man git annex sync
não funciona (embora funcione man git-annex sync
, pois é novamente um par de palavras).
De fato, quando você pede duas páginas de manual (por exemplo, man git bash
para ver as páginas de manual git e bash), man
na verdade , primeiro tenta procurar uma página de git-bash
manual. Você pode ver isso na saída de depuração, se você habilitá-lo com -d
.
Esse recurso man é chamado de "subpáginas". Você pode ler o código fonte implementando subpáginas no man-db (obrigado, Stephen Kitt ). A pesquisa de "subpáginas" na página de man(1)
manual também levará você à descrição desse comportamento na --no-subpages
opção:
--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