Terminal komutları hakkında nasıl yardım alabilirim?


33

Sık sık gibi şeyler görüyorum

okumak daha fazla bilgi için okumaya xyz' ın man sayfası. görmekman xyz

info xyz

bu yüzden merak ediyorum:

  • Genelde terminal komutları hakkında nasıl yardım alabilirim?
  • Bu adam ve bilgi sayfaları tam olarak nedir ?
  • Onları nasıl bulabilir ve görebilirim?



Ayrıca , man sayfalarını daha iyi bir şekilde basitleştirmek ve sunmak için bir çaba olan tldr.sh'den de bahsetmek istiyorum .
Hayır, gerçek adımı

@ Nodon'tshownmyrealname Bir cevap yazar tldrmısın? Ayrıca bahsedebilir cheatve belki de hile yapabilirsin .
tatlı

Yanıtlar:


44

Bir nedir adam sayfası ?

Bir man sayfası (manuel sayfa için kısa), Ubuntu benzeri bir Unix benzeri işletim sistemindeki geleneksel yazılım dokümantasyonudur. Komutların ve programların büyük çoğunluğu için seçeneklerini listeleyen ve kullanımını açıklayan bir sayfa var.

Man sayfalarını nasıl bulabilir ve görebilirim?

Terminalde çevrimdışı

Kılavuz sayfaları, tanımladıkları komutlarla birlikte sisteminize otomatik olarak yüklenir. Man sayfalarını görüntülemek ve aramak için şu komut vardır man:

man mv

adamı sayfasını görüntüler mvsüre

man -k mv

Dize ilişkin yüklü tüm man sayfalarının adlarını ve kısa açıklamalarını arar mv. POSIX Genişletilmiş Düzenli İfadelere izin verilir ve bu bir aramadır ; bu nedenle, örneğin bunun yerine tam olarak kullanmak istiyorsanız, örneğin git-mvve de bulacaktır .semvermv^mv$

Bakın “adam” ve “adam (#)” arasındaki fark nedir? man sayfa bölümlerini okumak için. Daha fazla bilgi için man's man sayfasını okuyunuz . ;)

Bir man sayfasının nasıl görüntülendiğini nasıl etkileyebilirim?

Man sayfalarını görüntülemek için varsayılan program less. Bu sözde çağrı cihazı yararlı bir arama işlevi sağlar, /ardından sadece arama teriminden sonra girin

/--version

ve düğmesine basın Enter. Bu her bulguyu işaretler ve ilkine kayar. Bir Nsonraki bulmaya gitmek için tuşuna basın ve bir önceki bulmaya gitmek için ⇧ Shift+ işaretine Nbakın (bkz . Bir sayfa içinde nasıl arama yapabilirim? ). Komutların listesi için basın Hçıkmak için, lessbasın Q.

Yanında lessbulunmaktadır diğer çağrı cihazları : mevcut pg, mostve w3msadece listede üç. Tavsiye ederim most: Bir man sayfasını okumasını ve gezinmesini çok daha kolay hale getiren çok önemli anahtar kelimelerin renklendirilmesiyle gelir , kendiniz görün:

mv's manpage görüntüleyen en çok ekran görüntüsü

Bir man sayfasını varsayılan çağrı cihazınızdan farklı bir şekilde görüntülemek için bu -Pseçeneği kullanın, örneğin:

man -P most mv

Varsayılan çağrı cihazını değiştirmek istiyorsanız, man sayfalarının iki seçeneği vardır:

  • varsayılan çağrı cihazını yalnızca man

    export MANPAGER=most
    

    Değişikliği kalıcı kılmak için bu komutu ~/.bashrcdosyanıza ekleyin .

  • tüm sisteminizin varsayılan çağrı cihazını değiştirin

    sudo update-alternatives --config pager
    

Fanlar bile (ab) kullanımı olabilir vimolarak MANPAGERgörmek bu yazıyı kaleme Muru .

Kılavuz sayfaları, terminal öykünücüsü ayarlarınızda belirtilen yazı tipinde görüntülenir . Terminal ile düzenli olarak çalışıyorsanız bu yazı tipini değiştirmek isteyebilirsiniz; Sadece kaynak kod için tasarlanmış bir yazı tipi olan Hack'i tavsiye edebilirim , güzelliği için yukarıdaki ekran görüntüsüne bakın.

GUI aracılığıyla çevrimdışı

Önceden yüklenmiş program , kılavuz sayfalarını basit bir GUI ile görüntülemenin güzel ve kolay bir yoludur yelp. Olan bir adam sayfasını başlatmak için yelpyürütmek yelp man:PROGRAMveya gnome-help man:PROGRAMörneğin:

yelp man:mv

Man sayfalarını tercih ettiğiniz tarayıcınızla da görüntüleyebilirsiniz , bkz. Man sayfalarını web tarayıcısında nasıl açarım? İçin örneğin man mviçinde firefox:

man -Hfirefox mv

Son fakat en az değil, man sayfalarını PDF'ye dönüştürebilir ve tercih ettiğiniz PDF görüntüleyici ile görüntüleyebilirsiniz, bakınız: Bilgi / man sayfalarını PDF'ye yazdırmanın bir yolu var mı?

İnternet üzerinden

http://manpages.ubuntu.com

Şu anda desteklenen her Ubuntu sürümünün depoları aracılığıyla mevcut programların man sayfalarını, kısa bir URL ile görüntüleyebilirsiniz manpg.es/PROGRAM, örneğin, http://manpg.es/mv . Bu mv, en son Ubuntu sürümü için açılan adam sayfasını açar , üstteki çubuktan farklı bir sürüm seçebilirsiniz. Man sayfalarını aramak için örneğin http://manpages.ubuntu.com/cgi-bin/search.py?q=mv adresini kullanabilirsiniz .

Yukarıda açıklandığı gibi man, sisteme yüklenen yazılımın yalnızca man sayfalarını görüntüleyebilir. Paket sayfalarında bulunan bir terminal çağrı cihazını kullanarak http://manpages.ubuntu.com adresindeki kılavuz sayfalarını görüntülemek dmaniçin bikeshed.

Diğer kaynaklar

Diğer çevrimiçi kaynaklardan gelen belgeleri okuduğunuzda, program sürümüne göz atmak iyi bir fikirdir. Çoğu programda --versionsöz konusu programın sürümünü görüntüleyen bir seçenek vardır, örneğin

$ mv --version
mv (GNU coreutils) 8.25

Man sayfalarını kolayca erişilebilir kılmak için kendilerini adamış birçok web sitesi var, en çok sevdiğim ikisini sunacağım:

  • man7.org yararlı sözdizimi vurgulamasıyla birlikte gelir, ancak programın yalnızca son yayımlanan sürümünü içerir.
  • manpag.es ev sahibi Ubuntu'nun erkek sayfalarını uzun süre önce EOL yayınladı

Kaynak zaten bağlı değil: https://wiki.ubuntuusers.de/man/


Bir başka yararlı hile (en azından bir programcıysanız), insanın çıktısını seçtiğiniz metin editörünüze atmak için küçük bir senaryo yazmaktır. Örneğin (\ n yeni satırdır) #! / Bin / tcsh \ n set adı = $ argv [$ # argv] \ n set dosyası = /tmp/man.$name.out\n / usr / bin / man $ * | col -bx> $ file \ n (editörünüzün yolu) $ file \ n rm $ file \ n Benzer fakat editöre özel bir makro editörün içinden edilebilecek bir adam çağırmanıza izin verir.
jamesqf

@jamesqf İlginç, neden yapıyorsunuz ve ne zaman kullanıyorsunuz? Editörler genellikle stdin'den okuyabildiğinden, örneğin man $*|col -bx|nano -veya man $*|col -bx|kate -i.
tatlı

arama veya kolayca gezinmek amacıyla metin dosyasına adam sayfasını dışa eğer @jamesqf, gerçekten bir göz olması düşünmelisiniz "DAHA AZ KOMUTLARIN SUMMARY" page.It yazarak 'h' ile açılabilir less( mankullanım lesssayfalandırmada komutu bu yüzden de çalışır man)
Ludovic Ronsin

@Ludovic Ronsin: İki nedenden ötürü editörümde daha az değil. Öncelikle, editörümün komutlarını (daha az komuttan çok daha güçlü olan) biliyorum ve kaçınılmaz olarak farklı bağlamlarda kafamı karıştıracağım başka bir komut dizisini öğrenmeyi de zorlamak zorunda değilim. İkincisi, editör versiyonunu bir tuş basışına (Alt-m, olduğu gibi) bağlayabilir ve böylece bir man sayfası olan herhangi bir fonksiyon çağrısında yardım alabilirim. Neden yaptığım gibi yaptığım için, 20 yıl önce yazdım ve yeterince çalıştı.
jamesqf

@jamesqf sadece PAGER = "vim -" yapıyor mu?
d33tah

13

Temel bilgiler zaten ele alınmıştı, ancak bir web sitesinin bir komutun ne yaptığını anlatmak için oldukça yararlı olduğunu düşündüğüm bir web sitesi, https://explainshell.com olduğunu ve bu da kendi komutlarını bölümlere ayıran ve her bir bitin ne yaptığını gösteren bir komuttur.

görüntü tanımını buraya girin


1
+1 Bu soru-cevap yazarken peşimde olan kesinlikle bu değildi , ama bilmediğim harika bir kaynak - çok teşekkür ederim! Diğer cevaplar kasıtlı olarak bir ana konuyu kapsadığı için, genel olarak çevrimiçi araçları kapsayacak şekilde cevabınızı uzatabilir misiniz? shellcheck.net akla geliyor…
tatlı

12

Bir nedir bilgi sayfası ?

yanında

man program-name

ayrıca sık sık

info program-name

Bazen bunlar aynıdır (kopyalar), ancak bazen bu sayfalardan biri daha fazla bilgi içerir. Örneğin

info ddrescue

daha fazla bilgi içeriyor

man ddrescue

ve

info date

daha fazla bilgi içeriyor

man date

Arasındaki denge manve infobelirli bir programı [paket] korumak insanların politikasına bağlıdır.

Daha fazla ayrıntı için bu bağlantıya bakın,

unix.stackexchange.com/questions/19451/difference-between-help-info-and-man-command


11

Nedir helpkomut?

helpYerleşik bashkomutlar hakkında yararlı bilgiler görüntüler . Yalnızca bash shell komutları için yardım sağlar. Sen kullanabilirsiniz typeKomut böyle bir yerleşik olup olmadığını, örneğin belirlemek için type echovs type rm.

Bir argüman olarak bir kalıpla çağrılır:

help if

ifkomutun yardım sayfasını görüntüler . Bir komutun sözdizimi ile sadece ilgileniyorsanız, -sseçeneği sayfa biçiminde helpçıktı üretmek istiyorsanız mankullanın -m. Uzun yardım metinlerini rahatça görüntülemek için çıktıyı tercih ettiğiniz çağrı cihazına yönlendirebilirsiniz ( bu cevabın “Nasıl etkileyebilirim” bölümüne bakın):

help -m if | less

İle karşılaştırılması manveinfo

Aşağıdaki komutları çalıştırabilir ve karşılaştırabilirsiniz:

help echo  # for the bash built-in command `echo`
man echo   # for the program `/bin/echo`
info echo  # for the program `/bin/echo`

Bu örnekte olduğu gibi, hem yerleşik hem de normal bir program olarak kullanılabilen programlar var (bkz. Neden bir / bin / echo var ve neden kullanmak isteyeyim? ), Bu durumda man sayfası genellikle Bunu gösteren not.

Daha fazla ayrıntı için bu bağlantıya göz atın: Yardım, bilgi ve man komutu arasındaki fark · U&L

bir programın seçeneği -hve / veya--help

Genellikle orada yerleşik olan yardım programlarında en az seçeneklerden biri yoluyla kendilerini mevcut -h, --helpya -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Her iki seçenek varsa -hve --helpvaroldukları için, genellikle eşdeğerdir, ancak bazen birlikte 'daha fazla yardım' get --help, -H, --longhelp, --help-allveya benzer komutlar. Bu davranış programın man/ infosayfasında belgelenmiştir .

Genellikle manve yoluyla daha fazla bilgi vardır info, ancak bazen özel bilgi de vardır -h. Çalıştır ve çıktısını karşılaştır

man lsblk

ve

lsblk -h

Bazı programlar gibi df, tarve rsyncseçeneğini kullanın -hbaşka bir şey için. Bu, her programın man/ infosayfasında açıklanmaktadır .

Yine çıktıyı tercih ettiğiniz çağrı cihazına yönlendirebilirsiniz, örneğin:

lsblk -h | less

Bahsettiğiniz için teşekkürler --help, çoğu komutla ihtiyaç duyduğum tek şey budur ve her zaman denedim.
JPhi1618

6

Öğretici nedir ve nasıl faydalı bulabilirim

Linux konusunda biraz tecrübeniz varsa, man sayfaları, bilgi sayfaları ve yardım seçenekleri çok yararlıdır. Ancak başlangıçta, anlamak zor olabilir; Başlamak için daha ayrıntılı bir yardıma ihtiyacınız var.

İçeri ayrıntılı yardım alabilirsiniz öğreticiler ,

  • Komutun nasıl kullanılacağına dair detaylı açıklama
  • örnekler

Genellikle internet üzerinden dersler bulacaksınız, bazen man sayfasında veya bilgi sayfasında faydalı bir ders var.

  • Web tarayıcınızın arama motorunu kullanırken bazı arama dizeleri deneyin.

    • Belirtilen araçları arıyorum

      • nano öğretici
      • sed öğretici
      • imagemagick eğitimi
      • rsync eğitimi
    • Görev aramak (ve çeşitli araçlar için öğreticiler bulmak)

      • linux metin modu editörü eğitimi
      • linux toplu mod resim editörü öğretici

Bulduğunuz bağlantılardan birkaçına kısaca bakın ve ihtiyacınız olana uyan bir eğitici ile çalışmaya başlayın .

  • man rsync Bir öğretici olarak kullanmak için yeterince ayrıntılı, ancak daha fazla ayrıntı isteyebilirsiniz (ve internet üzerinden bir öğretici arayın).
  • info ddrescue iyi bir yerleşik öğretici var.

Mükemmel, sürekli katkınız için teşekkürler - bu sorunun yeni başlayanların işaret edebileceği çok yararlı bir kaynak olacağını düşünüyorum. Soruya bir içerik dizini ekleyeceğim ve cevapları boş izleyicilere kaydırma ile bağlayacağım.
tatlı

1
@ tatlı, Bu sizin için iyi bir girişim ve katkıda bulunmak için mutluyum :-)
sudodus


2

Benim favorim commandlinefu.com , sizin .bashrcveya .zshrcböyle bir işlevi var

cmd() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \
    | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;}

Hadi deneyelim cmd mount cd, fonksiyonumu aradım cmd, ne istersen çağırabilirsin

görüntü tanımını buraya girin

Yukarıdaki işlev, komut satırının web sitesinde arama yapar, burada olduğu gibi topluluk odaklı bir web sitesidir, kullanıcılar komutları yükseltme yeteneğine sahiptir. Sonra resimde olduğu gibi en iyi sonuçları gösterir.

veya kullanarak bunu yapmak için yeni bir yolu var bu .

http://samirahmed.github.io/fu/

İşte bir öğretici .

Yapalım fu cron

görüntü tanımını buraya girin


1

Bir terminal penceresinin nasıl açılacağını ve komutu nasıl vereceğinizi belirleyin man man. Alt kısımda "Diğer" yazdığında bir sonraki ekrana ilerlemek için boşluk çubuğunu yazın. Manuel okuma programının manuel sayfasını okuyorsunuz man,!

Başa çıkmanız için çok küçük bir tavuk-yumurta problemi var. manKomut Eğer sistemde her komutu hakkında kılavuzunu okumanıza yardımcı olur. Ancak mançıktı, adı verilen başka bir komut kullanır more. Ayrıca man moreek gezinme komutlarını öğrenmek için okuyabilirsiniz more.

Ve bu her şeydir! Unix hakkında bildiğim her şeyi, yüzlerce komut için man sayfalarını okuyarak öğrendim.


3
Ubuntu'da varsayılan olarak mankullanır , kullanmaz . lessmore
muru

0

Birçoğu manzaten bahsetti . manBirkaç için biraz serin özelliği farkında olduğunu

man -t $ (manpage) > manpage.ps

manuel sayfa için bir PostScript dosyası oluşturur. PostScript kolayca PDF'ye dönüştürülebilir. Bu, varsayılan komut satırı terminali sürümünden çok daha güzel bir biçimlendirmeyle sonuçlanır man.

Örneğin:

adam -t adam> man.ps

pstopdf man.ps

Sadece Ubuntu'da test ettim (ve diğer Linuces'de çalışmalı) ve Mac OS.

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.