Bagaimana saya bisa mendapatkan bantuan pada perintah terminal?

33

Saya sering melihat hal-hal seperti

baca Untuk informasi lebih lanjut baca halaman manual xyz . Lihatman xyz

info xyz

jadi saya bertanya-tanya:

  • Bagaimana saya bisa mendapatkan bantuan pada perintah terminal secara umum?
  • Apa sebenarnya halaman manual dan info ini ?
  • Bagaimana saya bisa menemukan dan melihatnya?
pencuci mulut
sumber
1
Ruang obrolan untuk pertanyaan
hidangan penutup
Saya juga ingin menyebutkan tldr.sh , yang merupakan upaya untuk menyederhanakan dan menyajikan halaman manual dengan cara yang lebih baik.
Tidak, jangan tampilkan nama asli saya
@ Nodon'tshownmyrealname Apakah Anda akan menulis jawaban tldr? Anda juga bisa menyebutkan cheatdan mungkin cheat.sh .
hidangan penutup

Jawaban:

44

Apa itu halaman manual ?

Halaman manual (kependekan dari halaman manual) adalah bentuk tradisional dokumentasi perangkat lunak pada OS mirip Unix seperti Ubuntu. Untuk sebagian besar perintah dan program ada halaman manual yang mencantumkan opsi dan menjelaskan penggunaannya.

Bagaimana saya bisa menemukan dan melihat halaman manual?

Offline di terminal

Halaman manual diinstal secara otomatis di sistem Anda bersama dengan perintah yang dijelaskan. Untuk melihat dan mencari halaman manual ada perintah man:

man mv

menampilkan halaman manual mvsementara

man -k mv

mencari nama dan deskripsi singkat dari semua halaman manual yang diinstal untuk string mv. POSIX Extended Regular Expressions diperbolehkan dan ini pencarian , jadi ini juga akan menemukan mis git-mvdan semver, jika Anda ingin mencari, mvgunakan tepatnya ^mv$.

Lihat Apa perbedaan antara `man` dan` man (#) `? untuk membaca tentang bagian halaman manual. Untuk informasi lebih lanjut, baca manhalaman manual. ;)

Bagaimana saya bisa memengaruhi cara halaman manual ditampilkan?

Program default untuk menampilkan halaman manual adalah less. Pager yang disebut ini menyediakan fungsi pencarian yang bermanfaat, cukup masukkan /diikuti oleh istilah pencarian, misalnya

/--version

dan tekan Enter. Ini akan menandai setiap temuan dan gulir ke yang pertama. Tekan Nuntuk pergi ke temuan berikutnya dan ⇧ Shift+ Nuntuk pergi ke yang sebelumnya (lihat Bagaimana saya bisa mencari di dalam halaman manual? ). Untuk daftar perintah H, tekan , untuk keluar dari lesspers Q.

Di samping lessada pager lainnya yang tersedia: pg, mostdan w3mhanya untuk daftar tiga. Saya sarankan most: Muncul dengan pewarnaan yang sangat berguna dari kata-kata kunci membuat halaman manual banyak mudah dibaca dan dinavigasi, lihat sendiri:

sebagian besar tangkapan layar menampilkan halaman manual mv

Untuk melihat halaman manual dalam halaman yang berbeda dari pager default Anda, gunakan -P opsi, misalnya:

man -P most mv

Jika Anda menghendaki mengubah halaman pager default ditampilkan dengan Anda memiliki dua opsi:

  • ubah pager default hanya dari man

    export MANPAGER=most
    

    Untuk membuat perubahan terus-menerus tambahkan perintah ini ke ~/.bashrc file .

  • ubah pager default seluruh sistem Anda

    sudo update-alternatives --config pager
    

Penggemar bahkan dapat (ab) menggunakan vimsebagai MANPAGER, lihat artikel ini ditulis oleh muru .

Halaman manual ditampilkan dalam font yang ditentukan dalam pengaturan emulator terminal Anda. Jika Anda bekerja dengan terminal secara teratur, Anda mungkin ingin mengubah font ini; Saya hanya dapat merekomendasikan Hack - jenis huruf yang dirancang untuk kode sumber , lihat tangkapan layar di atas karena keindahannya.

Offline via GUI

Cara yang bagus dan mudah untuk menampilkan halaman manual dengan GUI sederhana adalah yelpprogram yang sudah diinstal sebelumnya . Untuk memulai halaman manual dengan yelpmenjalankan yelp man:PROGRAMataugnome-help man:PROGRAM , misalnya:

yelp man:mv

Anda juga dapat melihat halaman manual dengan browser pilihan Anda , lihat Bagaimana cara membuat halaman manual terbuka di browser web? , misalnya untuk man mvdi firefox:

man -Hfirefox mv

Terakhir, Anda dapat mengonversi halaman manual ke PDF dan melihatnya dengan penampil PDF pilihan Anda, lihat: Apakah ada cara untuk mencetak info / halaman manual ke PDF?

On line

http://manpages.ubuntu.com

Anda dapat melihat halaman manual program yang tersedia melalui repositori setiap versi Ubuntu yang saat ini didukung dengan URL steno manpg.es/PROGRAM, misalnya http://manpg.es/mv . Ini membuka mvhalaman manual untuk rilis Ubuntu terbaru , Anda dapat memilih rilis yang berbeda di bilah atas. Untuk mencari halaman manual, Anda dapat menggunakan mis . Http://manpages.ubuntu.com/cgi-bin/search.py?q=mv .

Seperti dijelaskan di atas manhanya dapat menampilkan halaman manual perangkat lunak yang diinstal pada sistem. Untuk melihat halaman manual dari http://manpages.ubuntu.com menggunakan pager terminal, dmantersedia dalam bikeshedpaket.

Sumber lainnya

Saat Anda membaca dokumentasi dari sumber daring lainnya, sebaiknya perhatikan versi programnya. Sebagian besar program memiliki --versionopsi yang menampilkan versi program yang dimaksud, misalnya

$ mv --version
mv (GNU coreutils) 8.25

Ada banyak situs web yang mendedikasikan diri mereka untuk membuat halaman manual tersedia dengan mudah, saya hanya akan menyajikan dua yang paling saya sukai:

  • man7.org hadir dengan penyorotan sintaksis yang bermanfaat, tetapi hanya menampilkan versi terakhir dari program
  • manpag.es menginangi halaman manual Ubuntu yang merilis EOL yang telah lama hilang

Sumber belum tertaut: https://wiki.ubuntuusers.de/man/

pencuci mulut
sumber
Trik bermanfaat lainnya (setidaknya jika Anda seorang programmer) adalah menulis skrip kecil untuk membuang output man ke dalam editor teks pilihan Anda. Misalnya (\ n adalah baris baru) #! / Bin / tcsh \ n set name = $ argv [$ # argv] \ n setel file = /tmp/man.$name.out \n / usr / bin / man $ * | col -bx> $ file \ n (path ke editor Anda) $ file \ n rm $ file \ n Makro yang mirip tetapi khusus editor akan memungkinkan Anda untuk memanggil manusia dari dalam editor, yang sangat membantu.
jamesqf
@ jamesqf Menarik, mengapa Anda lakukan dan kapan Anda menggunakannya? Karena editor biasanya dapat membaca dari stdin, Anda dapat menyederhanakannya menjadi misalnya man $*|col -bx|nano -atau man $*|col -bx|kate -i.
hidangan penutup
@ jamesqf jika Anda mengekspor halaman manual ke file teks untuk mencari atau menavigasi dengan mudah, Anda benar-benar harus mempertimbangkan untuk melihat halaman "IKHTISAR KURANG PERINTAH". Hal ini dapat dibuka dengan mengetikkan 'h' dalam less( mangunakan lessperintah untuk pagination jadi itu bekerja dari manterlalu)
Ludovic Ronsin
@Ludovic Ronsin: Saya melakukannya di editor saya daripada kurang karena dua alasan. Pertama, karena saya tahu perintah editor saya (yang jauh lebih kuat daripada perintah yang kurang), dan tidak perlu repot mempelajari set perintah lain, yang pasti akan membingungkan dalam konteks yang berbeda. Kedua, karena saya dapat menghubungkan versi editor ke penekanan tombol (Alt-m, seperti yang terjadi) dan dengan demikian mendapatkan bantuan pada panggilan fungsi apa pun yang memiliki halaman manual. Adapun mengapa saya melakukannya dengan cara yang saya lakukan, saya menulisnya 20+ tahun yang lalu, dan itu bekerja dengan cukup baik.
jamesqf
@jamesqf hanya akan mengatur PAGER = "vim -" do?
d33tah
13

Dasar-dasarnya sudah dibahas, tetapi satu situs web yang saya pikir cukup membantu untuk memberi tahu Anda apa yang dilakukan perintah adalah https://explainshell.com , yang memecah sebuah perintah menjadi bagian-bagiannya dan menunjukkan apa yang dilakukan setiap bit.

masukkan deskripsi gambar di sini

Qwertie
sumber
1
+1 Itu sama sekali bukan apa yang saya kejar ketika saya menulis T&J ini, tetapi ini adalah sumber yang bagus yang tidak saya ketahui - terima kasih banyak! Karena jawaban yang lain sengaja membahas satu topik utama, mungkin Anda memperluas jawaban Anda untuk mencakup alat online secara umum? shellcheck.net terlintas dalam pikiran ...
hidangan penutup
12

Apa itu halaman info ?

Di samping

man program-name

sering juga ada

info program-name

Terkadang mereka sama (duplikat), tetapi kadang-kadang salah satu halaman ini berisi lebih banyak informasi. Sebagai contoh

info ddrescue

mengandung lebih banyak informasi daripada

man ddrescue

dan

info date

mengandung lebih banyak informasi daripada

man date

Keseimbangan antara mandaninfo tergantung pada kebijakan orang-orang yang memelihara program [paket] tertentu.

Lihat tautan ini untuk detail lebih lanjut,

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

sudodus
sumber
11

Apakah yang help perintahnya?

helpmenampilkan informasi bermanfaat tentang bashperintah bawaan. Ini memberikan bantuan untuk perintah bash shell saja. Anda dapat menggunakan typeuntuk menentukan apakah perintah itu built-in, misalnya type echovstype rm .

Itu disebut dengan pola sebagai argumen:

help if

menampilkan halaman bantuan untuk ifperintah. Jika Anda hanya tertarik pada sintaks perintah gunakan -sopsi, jika Anda ingin helpmenghasilkan output dalam manpenggunaan format halaman -m. Untuk melihat teks bantuan panjang dengan nyaman, Anda dapat menyalurkan output ke pager pilihan Anda (lihat jawaban ini "Bagaimana saya memengaruhi" ):

help -m if | less

Perbandingan dengan man daninfo

Anda dapat menjalankan dan membandingkan perintah berikut:

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

Seperti dalam contoh ini ada program yang tersedia baik sebagai built-in dan program biasa (lihat Mengapa ada / bin / gema dan mengapa saya ingin menggunakannya? ), Dalam hal ini halaman manual biasanya berisi catatan menunjukkan itu.

Lihat tautan ini untuk lebih jelasnya: Perbedaan antara bantuan, info dan perintah manusia · U&L

opsi program -hdan / atau--help

Biasanya ada bantuan bawaan di dalam program itu sendiri yang tersedia melalui setidaknya salah satu opsi -h, --helpatau -?:

PROGRAM -h
PROGRAM --help
PROGRAM -?

Jika kedua pilihan -hdan --helpyang ada, mereka sering setara, tapi kadang-kadang Anda mendapatkan 'bantuan lebih' dengan --help, -H, --longhelp, --help-allatau perintah serupa. Perilaku ini didokumentasikan dalam program man/info halaman.

Biasanya ada lebih banyak informasi melalui mandan info, tetapi kadang-kadang ada informasi eksklusif via -h. Jalankan dan bandingkan output dari

man lsblk

dan

lsblk -h

Beberapa program suka df, tardan rsyncgunakan opsi -huntuk sesuatu yang lain. Ini dijelaskan dalam man/info halaman masing-masing program.

Sekali lagi Anda dapat menyalurkan output ke pager pilihan Anda, misalnya:

lsblk -h | less
sudodus
sumber
Terima kasih telah menyebutkan --help, itu sering satu-satunya hal yang saya butuhkan dengan sebagian besar perintah, dan selalu hal pertama yang saya coba.
JPhi1618
6

Apa itu tutorial dan bagaimana saya bisa menemukan yang bermanfaat

Ketika Anda memiliki pengalaman linux, halaman manual , halaman info dan bantuan opsi sangat berguna. Tetapi pada awalnya, mereka bisa sulit dipahami; Anda perlu bantuan lebih rinci untuk memulai.

Anda dapat menemukan bantuan terperinci dalam tutorial ,

  • penjelasan rinci cara menggunakan perintah
  • contoh

Biasanya Anda akan menemukan tutorial melalui internet, terkadang ada tutorial yang berguna di halaman manual atau info.

  • Coba beberapa string pencarian ketika Anda menggunakan mesin pencari browser web Anda, misalnya

    • Mencari alat yang ditentukan

      • tutorial nano
      • tutorial sed
      • tutorial imagemagick
      • tutorial rsync
    • Mencari tugas (dan menemukan tutorial untuk berbagai alat)

      • tutorial editor mode teks linux
      • tutorial editor gambar mode batch linux

Lihatlah secara singkat beberapa tautan yang Anda temukan, dan mulailah bekerja dengan tutorial yang sesuai dengan yang Anda butuhkan .

  • man rsync cukup rinci untuk saya gunakan sebagai tutorial, tetapi Anda mungkin ingin lebih detail (dan mencari tutorial melalui internet).
  • info ddrescue memiliki tutorial bawaan yang baik.
sudodus
sumber
Sempurna, terima kasih atas kontribusi Anda yang terus menerus - Saya merasa pertanyaan ini akan menumbuhkan sumber yang sangat berguna yang dapat kami tunjukkan kepada pemula. Saya akan menambahkan indeks konten ke pertanyaan dan menautkan jawaban untuk menggulirkan pemirsa.
hidangan penutup
1
@Dabut, Ini inisiatif yang bagus dari Anda, dan saya senang berkontribusi :-)
sudodus
2

Favorit saya adalah commandlinefu.com , memiliki fungsi dalam Anda .bashrcatau .zshrcseperti ini

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

Mari kita coba cmd mount cd, saya memanggil fungsi saya cmd, Anda bisa menyebutnya apa pun yang Anda inginkan

masukkan deskripsi gambar di sini

Fungsi di atas mencari situs web commandlinefu, ini adalah situs web yang digerakkan komunitas seperti di sini, pengguna memiliki kemampuan untuk meningkatkan perintah dan sebagainya. Kemudian itu menunjukkan hasil teratas seperti pada gambar.

atau ada cara baru untuk melakukannya dengan menggunakan ini .

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

Ini tutorialnya .

Mari lakukan fu cron

masukkan deskripsi gambar di sini

Lynob
sumber
1

Cari tahu cara membuka jendela terminal dan mengeluarkan perintah man man. Ketik bilah spasi untuk maju ke layar berikutnya setiap kali ada tulisan "Lainnya" di bagian bawah. Anda membaca halaman manual untuk program pengguna-membaca, man!

Ada masalah ayam dan telur yang sangat kecil untuk Anda lewati. The manPerintah membantu Anda membaca manual tentang setiap perintah pada sistem. Tetapi manoutput menggunakan perintah lain yang disebut more. Anda juga dapat membaca man moreuntuk mempelajari perintah navigasi tambahan more.

Dan itu semuanya! Saya belajar semua yang saya ketahui tentang unix dengan membaca halaman manual untuk ratusan perintah.

Douglas Diadakan
sumber
3
Di Ubuntu, mangunakan lesssecara default, bukan more.
muru
0

Banyak yang sudah disebutkan man. Sebuah fitur keren untuk manbeberapa orang sadari adalah

man -t $ (manpage) > manpage.ps

yang menghasilkan file PostScript untuk halaman manual. PostScript dapat dengan mudah dikonversi ke PDF. Ini menghasilkan format yang jauh lebih bagus daripada versi terminal baris perintah default man.

Sebagai contoh:

man -t man> man.ps

pstopdf man.ps

Saya baru saja mengujinya di Ubuntu (dan seharusnya bisa digunakan pada Linuces lainnya) dan Mac OS.

Oleg Lobachev
sumber