Kılavuz sayfası penceresinde bulunan komutlar nerede belgelenir ve bu komutlar sisteme bağımlı mıdır?


9

Linux'u yıllarca kullandıktan sonra, birdenbire mankomutu nasıl doğru kullanacağımı bilmediğimi fark ettim . qBir kişinin bir sayfadan çıkmak, /aramak ve diğerlerini yazmak iyi bir şekilde bilinmektedir . Ancak bunların nerede belgelendiğini bilmiyorum. Denedim man man man -a man info manve Googling, şanssız.

Lütfen bu bilgiyi aramak için doğru pozisyona yönlendirin, doğru olsa man manve göz ardı etsem bile, gayet iyi, sadece bana bildirin.

Bu komutlar farklı işletim sistemleri veya farklı Linux dağıtımları için farklı mıdır?


Man sayfaları henüz görüntülenmedi lessmi? (En azından benim dağıtımımda, ve komutların hbir özetini gösteriyor less)
Rastapopoulos

@Rastapopoulos Henüz görüntülenen sayfalar değil mi less? Hayır. Çünkü lessstandart bir yardımcı program değil.
Andrew Henle

Kullanabileceğin varsayalım readlink -f /usr/bin/pagerveya readlink -f $(which pager)(varsayılan olarak sahip olduğu çağrı cihazı bulmak için /bin/lessdaha az) mankullanılan çağrı cihazı. Doğrudan çalışabilir (olmalı)man pager
Hastur

2
Man sayfalarınızı moreveya tuşlarını kullanarak okursanız, yardım için lessyazabilirsiniz h. (ya da sadece kullanabilirsiniz emacs...)
Alex Vong

1
Eğer yazarsanız ?veya hçağrı cihazı isteminde, bu size komutların listesini vermelidir.
Barmar

Yanıtlar:


11

Gerçekten manuel sayfada man, "Biçimlendirilmiş çıktıyı kontrol etme" alt başlığı altındadır ve daha sonra iyi bir ölçüm için "ÇEVRE" bölümünde tekrarlanır:

Varsayılan olarak, insan kullanır pager -s.
Ortam değişkenleri ve komut satırı seçenekleri (bir hiyerarşi var nasıl manuel sayfa açıklıyor PAGER, MANPAGERve --pagervarsayılan geçersiz kılmaya yönelik).

Debian Linux gibi sistemlerde böyle okunur. Buna karşılık Oracle Linux gibi sistemlerde, man-dbpaket farklı bir varsayılanla oluşturulmuştur, ancak yine de aynı yerde manuel sayfada yansıtılmaktadır:

Varsayılan olarak, insan kullanır less -s.

man-dbİçin paket girişimleri komutuna-İçine yerleştirilmiş derleme zamanında, varsayılan çağrı cihazı en Otomatik algıla ve belge onun kılavuz sayfasında, dışarı less, moreve pager.

Debian Linux gibi sistemlerde, pagerkomut "alternatifler" sisteminin bir parçasıdır ve birkaç gerçek komuttan biriyle eşlenebilir:

jdebp% güncelleme alternatifleri - liste çağrı cihazı
/ Bin / az
/ Bin / daha
/ Usr / bin / pg
/ Usr / bin / w3m
% jdebp

Bu nedenle , hangi alternatifin seçildiğine göre, klavyeden nasıl çekileceği hakkında kendi manuel sayfalarına başvurulur . Yararlı olarak, Debian alternatif sistemi manuel sayfayı seçilen komutla senkronize tutar, bu nedenle bu manuel sayfayı okumak oldukça basittir:

adam çağrı cihazı


5

Adam içeriği göstermek için bir çağrı cihazı kullanır.

Kesin ayrıntılar hangi sürümü mankullandığınıza bağlıdır.

Birçok sistemde kullanılan sürüm için:

  • Seçenek belirtilirse -p pager, bu çağrı cihazı kullanılır.
  • Aksi takdirde, ortam değişkeni MANPAGERayarlanırsa kullanılır.
  • Aksi takdirde PAGERayarlanırsa kullanılır.
  • Aksi takdirde varsayılan /usr/bin/less

Manuel sayfa HTML biçimindeyse / BROWSERyerineMANPAGERPAGER

Debian man-db, farklı varsayılanlara sahiptir.

man manAyrıntılar için okuyun


Cevabınız için teşekkür ederim. Cevap nasıl mançalıştığını açıklasa da, beni bu davranışın belgelendiği doğru yere yönlendirmek için bir iyilik yapıp yapamayacağınızı sormak istiyorum. Teşekkür ederim.
Weijun Zhou

Benim içinde man mançıkışa (yine mansürüm: 2.6.3) Bu versiyon- ve sistem bağlıdır bekliyoruz yüzden, "varsayılan olarak, daha az kullanılan -s" belirtiyor?
Weijun Zhou

1
Bu sadece standart Unix felsefesinin bir örneğidir: metin akışlarında çalışan ve tam olarak bir şey yapan ve iyi yapan küçük ve basit komutlar . Bir kılavuzu biçimlendirme ve sayfalandırma iki şeydir, bu yüzden iki farklı araçla gerçekleştirilir. Bu şekilde, sayfalandırma aracı yalnızca manuel sayfaları görüntülemek için değil, diğer görevler için yeniden kullanılabilir.
Jörg W Mittag

2

@Rastapopoulos sayesinde, ilgili bir satır bulabilirsiniz lessiçinde man man(bir eski Linux kutusu üzerinde man: 1.6f versiyonu) içinde ÇEVRE , devletler bölümünde o

TARAYICI HTML manuel sayfalarını görüntülemek için kullanılacak tarayıcının adı. Ayarlanmamışsa /usr/bin/lesskullanılır.

Ancak daha yeni bir kutuda ( mansürüm: 2.6.3) bu satırın yerini

BROWSER $ BROWSER ayarlanırsa, değeri, her biri man --html için bir web tarayıcısı başlatmak amacıyla kullanılan, iki nokta üst üste işaretli bir komut listesidir. Her komutta% s bir dosya ile değiştirilir mi? groff HTML çıkışını içeren ad, %% tek bir yüzde işareti (%) ile değiştirilir ve% c iki nokta üst üste (:) ile değiştirilir.

Bu bilgilere dayanarak, lessvarsayılan olarak biçimlendirildiğine inanıyorum (en azından ilk durum için). Ancak, bu durumda bile, bana net görünmeyecek şekilde belgelenmiştir (veya mankomutu yanlış bir şekilde öğrendim ).


2

manUygulama gerçekten tam olarak belirtilmediğinden , çeşitli işletim sistemleri için sorunuzu genel olarak tam olarak cevaplamanın gerçek bir yolu yoktur .

POSIX standardı, Linux'a özgü olmayan yanıt POSIX manbelgelerinde bulunabilir :

ADI

man - display system documentation

ÖZET

man [-k] name...

...

ORTAM DEĞİŞKENLERİ

Aşağıdaki ortam değişkenleri insanın yürütülmesini etkileyecektir:

LANG

Ayarlanmamış veya null olan uluslararasılaştırma değişkenleri için varsayılan bir değer girin. (Yerel ayar kategorilerinin değerlerini belirlemek için kullanılan uluslararasılaştırma değişkenlerinin önceliği için bkz. XBD Uluslararasılaştırma Değişkenleri.)

LC_ALL

Boş olmayan bir dize değerine ayarlanırsa, diğer tüm uluslararasılaştırma değişkenlerinin değerlerini geçersiz kılın.

LC_CTYPE

Metin verilerinin bayt dizilerinin karakter olarak yorumlanması için yerel ayarı belirleyin (örneğin, bağımsız değişkenlerde ve özet veritabanında çok baytlık karakterlerin aksine tek bayt). LC_CTYPE değerinin, ad işlenenleri hakkında yazılan bilgilerin biçimini etkilemesi gerekmez.

LC_MESSAGES

Standart hataya yazılan tanılama mesajlarının biçimini ve içeriğini ve standart çıktıya yazılan bilgilendirici mesajları etkilemek için kullanılması gereken yerel ayarı belirleyin.

NLSPATH

LC_MESSAGES işlenmesi için ileti kataloglarının konumunu belirleyin.

ÇAĞRI CİHAZI

Çıkışı bir terminale yazmak için bir çıkış filtreleme komutu belirleyin. Komuta bir command_string işlenen olarak kabul edilebilir herhangi bir dize geçerli olacaktır. Standart çıktı bir terminal cihazı olduğunda, referans sayfa çıktısı komut aracılığıyla iletilecektir. PAGER değişkeni null olursa veya ayarlanmamışsa, komut sistem belgelerinde belgelenen ya da başka bir sayfa yardımcı programı olmalıdır.sh-cmore

Neden mantam olarak belirtilmediğini açıklayan RATIONALE bölümüne dikkat edin :

GEREKÇE

Man yardımcı programının belirtildiği gibi çok az kullanışlı olduğu kabul edilmektedir. Standart geliştiricilerin görüşü, insanın ne kadar veya ne kadar az bilgi vermesi gerektiği konusunda güçlü bir şekilde bölünmüştür. Bununla birlikte, belgelere erişmenin taşınabilir bir yolunun sağlanmasının kullanıcının taşınabilirliğine yardımcı olacağını düşündüler. Daha kapsamlı bir spesifikasyona karşı olan argümanlar:

  • Fazla disk alanı olmayan bir sistemde büyük miktarda belge gerekmemelidir.

  • Mevcut manuel sistem, bilgiyi kullanıcının taşınabilirliğine büyük ölçüde yardımcı olacak şekilde sunmaz.

  • "Daha iyi bir yardım sistemi" şu anda satıcıların POSIX uygulamalarına değer katabileceklerini düşündükleri bir alandır.

-F seçeneği göz önünde bulunduruldu, ancak uygulama farklılıkları nedeniyle bu POSIX.1-2008 cildine dahil edilmedi.

Açıklama, bir yardımcı program için nelerin görüntülenmesi gerektiği konusunda daha spesifik olacak şekilde değiştirildi. Standart geliştiriciler, her bir seçeneğin ve işlenenin ne yaptığına dair kısa bir açıklama yapmadan yalnızca özetin görüntülenmesine izin vermenin yetersiz olduğunu düşünmektedir.

Veritabanına dahil edilecek "amaç" girişi, her bir yardımcı program için bu POSIX.1-2008 biriminden bölüm başlığına (daha az sayısal önek) benzer olabilir. Bu başlıklar, bu amaçla tarihsel sistemlerde kullanılanlara benzer.

Varsayılan sayfalayıcı ile ilgili gerekçe için mailx'e bakın .

LC_CTYPE açıklamasındaki uyarı eklendi, çünkü bir uygulamanın her sistemde desteklenen tüm yerel ayarları için referans sayfaları sağlaması gerekmez; LC_CTYPE'ın değiştirilmesi, referans sayfasını mutlaka başka bir dile çevirmez. Bu POSIX.1-2008 yerel ayarına özgü iletilerdeki LC_MESSAGES'ın geçerli durumuna eşdeğerdir, henüz bir gereksinim değildir.

Geçmiş MANPATH değişkeni POSIX'e dahil edilmemiştir çünkü referans sayfa dosyaları için adlandırma kurallarını belirtmek ve hatta bunların hiç dosya olmalarını zorunlu kılmak için hiçbir girişimde bulunulmamıştır. Bazı uygulamalarda, gerçek bir veritabanı, bir hipermetin dosyası veya yürütülebilir adam içindeki sabit dizeler olabilirler. Standart geliştiriciler referans sayfalarının taşınabilirliğinin çalışma kapsamı dışında olduğunu düşünmektedir. Bununla birlikte, kullanıcılar MANPATH'ın bir dizi tarihsel sistemde uygulandığını ve sistem yöneticisini kullanırken çeşitli kategorilerdeki (yardımcı programlar, işlevler, dosya formatları vb.) Referans sayfalar için arama desenini uyarlamak için kullanılabileceğini bilmelidir. sistemdeki referans sayfalarının konumunu ve kurallarını gösterir.

...

Postacı sayfasındaki sayfa oluşturucu mantığı tartışması :

PAGER null veya unset olduğunda seçili sayfalayıcı, System V geçmiş uygulamasının pg'yi varsayılan olarak kullanmasına izin vermek için kısmen belirtilmemiş. Sayfalama işlevini atlamak, örneğin kedinin sayfa oluşturucu olduğunu bildirmek gibi, bu açıklamanın amaçlanan anlamıyla buluşmaz. Bununla birlikte, herhangi bir "taşınabilir kullanıcı", PAGER'i tercih ettiği sayfalayıcıyı tüm sistemlerde almak için açıkça ayarlamalıdır. Sayfa görüntüleme seçimi, VISUAL editör seçiminin (vi olması zorunludur) aksine kısmen belirtilmedi, çünkü çoğu tarihsel çağrı cihazı ortak bir kullanıcı girişi temasını takip ederken, editörler önemli ölçüde farklıdır.

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.