'Adam git init' doğru adam sayfasını nasıl alır?


52

Öyle görünüyor ki man git initUbuntu 14.04 sisteminde bir bash komut istemine yazmanız aynı man git-init, sadece nasıl emin değilim.

manİçin sayfa man(yani man man) sürece bu yapı için izin vermiyor gitbir oldu sectionkılavuzun ama adam sayfa bölümünden geliyor gibi görünüyor 1.

Bu belgelenmemiş bir kullanım tarafından destekleniyor manmu? Belgelerini yanlış mı anladım man? Başka bir sihir oluyor mu? Açıklamak isteyen var mı?


Git-init sadece bir sarmalayıcı olabilir gibi görünüyorgit init
Jeff Schaller

Yanıtlar:


71

manUbuntu tarafından kullanılanlar da dahil olmak üzere bazı uygulamalar , arama terimlerindeki boşlukları tire ile değiştirir ve bu adın altında bir manuel sayfa bulmaya çalışır. Böylece man git initaynı şeyi arar man git-init. Benzer şekilde, man run partsve man ntfs 3gçalışma (eğer varsa run-partsve ntfs-3gsisteminizde).

Bunu sadece kelime çiftleriyle yapar, ancak man git annex syncişe yaramaz ( man git-annex syncyine de bir kelime çifti olduğu gibi).

Aslında, iki manuel sayfa sorduğunuzda (örneğin, man git bashhem git hem de bash manpagesini görmek için), manaslında önce bir git-bashmanpage aramaya çalışır . Bunu etkinleştirirseniz, bunu hata ayıklama çıktısında görebilirsiniz -d.

Bu adam özelliğinin adı "alt sayfalar" man-db alt sayfalarını uygulayan kaynak kodunu okuyabilirsiniz (teşekkürler, Stephen Kitt ). man(1)Manpage'in "alt sayfalar" için aranması, bu --no-subpagesseçeneğin altında bu davranışın açıklamasına da yol gösterecektir :

--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

Bu CentOS 6.6'da çalışmıyor gibi görünüyor. Sadece Ubuntu mu?
Wildcard

1
@Wildcard hangi bölüm çalışmıyor gibi görünüyor? CentOS man-db kullandığı sürece (başka manuygulamalar var) ve alt sayfalar devre dışı bırakılmadığı sürece (örn --no-subpages. İle ) çalışmalıdır. Debian kullanıyorum, bu yüzden kesinlikle sadece Ubuntu değil.
derobert

2
Önemli olan, bunun belirli bir uygulamaya özgü olması man. Hiçbir şekilde evrensel veya özel bir ortak değildir.
chepner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.