Bagaimana cara menggunakan halaman manual untuk mempelajari cara menggunakan perintah?

92

Saat meneliti masalah lain, saya menemukan sebuah perintah ,

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

yang ingin saya pelajari lebih lanjut. Jadi saya berlari man xargsdan mendapatkan output berikut:

XARGS(1)                    General Commands Manual                   XARGS(1)

NAME
       xargs - build and execute command lines from standard input

SYNOPSIS
       xargs  [-0prtx]  [-E  eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null]
       [-d delimiter] [--delimiter delimiter]  [-I  replace-str]  [-i[replace-
       str]]    [--replace[=replace-str]]   [-l[max-lines]]   [-L   max-lines]
       [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s  max-
       chars]  [--max-chars=max-chars]  [-P max-procs] [--max-procs=max-procs]
       [--interactive]      [--verbose]      [--exit]      [--no-run-if-empty]
       [--arg-file=file]   [--show-limits]   [--version]   [--help]   [command
       [initial-arguments]]

DESCRIPTION
       This manual page documents the GNU version of xargs...

Saya mencoba menjadi lebih baik dalam menggunakan dokumentasi untuk belajar tentang program-program Linux, tetapi bagian "Sinopsis" itu mengintimidasi pengguna baru. Secara harfiah ini terlihat seperti omong kosong dibandingkan dengan man locateatau man free.

Sejauh ini, saya mengerti bahwa tanda kurung siku berarti opsi dan tanda kurung bersarang di opsi opsional. Tapi bagaimana saya bisa mendorong perintah yang valid dengan itu?

Saya tidak meminta bantuan dengan xargs di sini. Saya mencari bantuan menafsirkan halaman manual untuk memahami perintah yang rumit. Saya ingin berhenti membuat blog web yang diindeks Google dan bantuan pribadi dari orang lain pendekatan pertama saya untuk mempelajari perintah-perintah Linux.

pengguna1717828
sumber
17
Lanjutkan membaca halaman manual. Bagian "OPTIONS" menjelaskan semua opsi yang tersedia di bagian "SYNOPSIS".
John
7
mulai denganman man
mikeserv
14
Lebih sering daripada tidak, langsung ke bawah dan mencari bagian contoh.
teppic
9
Dan jangan hanya memindai halaman manual untuk kata kunci. Sungguh membacanya! Seharusnya perilaku aneh sering dijelaskan dengan baik.
FloHimself
6
setelah man mandibaca man intro.
mikeserv

Jawaban:

102

Nah, ini cara saya yang sangat pribadi untuk membaca halaman manual:

Manpager itu

Ketika Anda membuka halaman manual dengan menggunakan manperintah, output akan ditampilkan / diberikan oleh lessatau moreperintah, atau perintah lain yang akan ditetapkan sebagai pager Anda (MANPAGER).

Jika Anda menggunakan Linux Anda mungkin dilayani dengan infrastruktur manusia Anda yang sudah dikonfigurasi untuk digunakan /usr/bin/less -is(kecuali jika Anda menginstal beberapa distro minimal) man(1), jelaskan pada bagian Opsi itu:

-P pager
Specify which pager to use. This option overrides the MANPAGER environment variable, 
which in turn overrides the PAGER variable. By default, man uses /usr/bin/less -is.

Pada FreeBSD dan OpenBSD hanya masalah mengedit MANPAGERvariabel lingkungan karena mereka sebagian besar akan digunakan more, dan beberapa fitur seperti pencarian dan sorotan teks bisa hilang.

Ada jawaban yang bagus untuk pertanyaan perbedaan apa more, lessdan mostada di sini (tidak pernah digunakan most). Kemampuan untuk menggulir mundur dan menggulir maju berdasarkan halaman dengan Spaceatau kedua cara menurut garis dengan atau (juga, menggunakan vibinding jdan k) sangat penting saat menelusuri halaman manual. Tekan hsaat menggunakan lessuntuk melihat ringkasan perintah yang tersedia.

Dan itu sebabnya saya menyarankan Anda untuk menggunakan lesspager pria Anda. lessmemiliki beberapa fitur penting yang akan digunakan selama jawaban ini.

Bagaimana perintah diformat?

Konvensi Utilitas : Spesifikasi Basis Grup Terbuka Edisi 7 - IEEE Std 1003.1, 2013 Edisi. Anda harus mengunjungi tautan itu sebelum mencoba memahami halaman manual. Referensi online ini menguraikan sintaks argumen utilitas standar dan memperkenalkan terminologi yang digunakan di seluruh POSIX.1-2017 untuk menjelaskan argumen yang diproses oleh utilitas. Ini juga secara tidak langsung akan membuat Anda diperbarui tentang arti sebenarnya dari kata-kata seperti parameter, argumen, opsi argumen ...

Kepala setiap halaman manual akan terlihat lebih samar bagi Anda setelah memahami notasi dari konvensi utilitas:

utility_name[-a][-b][-c option_argument]
    [-d|-e][-f[option_argument]][operand...]

Ingat apa yang ingin Anda lakukan.

Ketika melakukan riset tentang xargsAnda, Anda melakukannya untuk tujuan, bukan? Anda memiliki kebutuhan khusus yang membaca output standar dan menjalankan perintah berdasarkan output itu.

Tetapi, ketika saya tidak tahu perintah mana yang saya inginkan?

Gunakan man -katau apropos(mereka setara). Jika saya tidak tahu bagaimana menemukan file: man -k file | grep search. Baca deskripsi dan temukan yang lebih sesuai dengan kebutuhan Anda. Contoh:

apropos -r '^report'
bashbug (1)          - report a bug in bash
df (1)               - report file system disk space usage
e2freefrag (8)       - report free space fragmentation information
filefrag (8)         - report on file fragmentation
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
kbd_mode (1)         - report or set the keyboard mode
lastlog (8)          - reports the most recent login of all users or of a given user
pmap (1)             - report memory map of a process
ps (1)               - report a snapshot of the current processes.
pwdx (1)             - report current working directory of a process
uniq (1)             - report or omit repeated lines
vmstat (8)           - Report virtual memory statistics

Apropos berfungsi dengan ekspresi reguler secara default, ( man apropos, baca deskripsi, dan cari tahu apa -rfungsinya), dan pada contoh ini saya mencari setiap halaman manual di mana deskripsi dimulai dengan "laporan".

Untuk mencari informasi terkait dengan membaca pemrosesan input / output standar dan mencapai xargssebagai opsi yang memungkinkan:

man -k command| grep input
xargs (1)            - build and execute command lines from standard input

Selalu baca DESCRIPTIONsebelum memulai

Luangkan waktu dan baca deskripsi. Dengan hanya membaca deskripsi xargsperintah kita akan belajar bahwa:

  • xargsmembaca dari STDIN dan menjalankan perintah yang diperlukan. Ini juga berarti bahwa Anda perlu memiliki pengetahuan tentang cara kerja input standar, dan cara memanipulasinya melalui pipa ke perintah berantai
  • Perilaku default adalah bertindak seperti /bin/echo. Ini memberi Anda sedikit tip bahwa jika Anda perlu rantai lebih dari satu xargs, Anda tidak perlu menggunakan gema untuk mencetak.
  • Kami juga telah belajar bahwa nama file unix dapat berisi baris kosong dan baru, bahwa ini bisa menjadi masalah dan argumen -0adalah cara untuk mencegah hal-hal meledak dengan menggunakan pemisah karakter nol. Deskripsi ini memperingatkan Anda bahwa perintah yang digunakan sebagai input perlu mendukung fitur ini juga, dan GNU findmendukungnya. Bagus. Kami menggunakan banyak temuan dengan xargs.
  • xargs akan berhenti jika status keluar 255 tercapai.

Beberapa deskripsi sangat singkat dan itu umumnya karena perangkat lunak bekerja dengan cara yang sangat sederhana. Jangan pernah berpikir untuk melewatkan bagian manual ini ;)

Hal-hal lain yang perlu diperhatikan ...

Anda tahu bahwa Anda dapat mencari file menggunakan find. Ada banyak pilihan dan jika Anda hanya melihat SYNOPSIS, Anda akan kewalahan oleh mereka. Itu hanya puncak gunung es. Tidak termasuk NAME,, SYNOPSISdan DESCRIPTION, Anda akan memiliki bagian berikut:

  • AUTHORS: orang-orang yang membuat atau membantu dalam penciptaan perintah.

  • BUGS: daftar semua cacat yang dikenal. Bisa jadi hanya batasan implementasi.

  • ENVIRONMENT: Aspek shell Anda yang dapat dipengaruhi oleh perintah, atau variabel yang akan digunakan.

  • EXAMPLESatau NOTES: Cukup jelas.

  • REPORTING BUGS: Siapa yang harus Anda hubungi jika Anda menemukan bug pada alat ini atau dalam dokumentasinya.

  • COPYRIGHT: Orang yang membuat dan menafikan tentang perangkat lunak. Semua terkait dengan lisensi perangkat lunak itu sendiri.

  • SEE ALSO: Perintah lain, alat, atau aspek kerja yang terkait dengan perintah ini, dan tidak dapat ditampung di bagian mana pun lainnya.

Anda kemungkinan besar akan menemukan info menarik tentang aspek yang Anda inginkan dari alat pada bagian contoh / catatan.

Contoh

Pada langkah-langkah berikut saya akan ambil findsebagai contoh, karena konsepnya "lebih sederhana" daripada xargsmenjelaskan (satu perintah menemukan file dan lainnya berurusan dengan stdin dan pipelined eksekusi dari output perintah lainnya). Mari kita berpura-pura tidak tahu apa-apa (atau sedikit) tentang perintah ini.

Saya memiliki masalah khusus yaitu: Saya harus mencari setiap file dengan .jpgekstensi, dan dengan 500KiB (KiB = 1024 byte, biasa disebut kibibyte), atau lebih dalam ukuran di dalam folder server ftp.

Pertama, buka manual: man find. Itu SYNOPSISramping. Mari mencari hal-hal di dalam manual: Ketik /ditambah kata yang Anda inginkan ( size). Ini akan mengindeks banyak entri -sizeyang akan menghitung ukuran tertentu. Terjebak. Tidak tahu cara mencari dengan "lebih dari" atau "kurang dari" ukuran tertentu, dan pria itu tidak menunjukkannya kepada saya.

Mari kita coba, dan cari entri berikutnya yang ditemukan dengan memukul n. BAIK. Menemukan sesuatu yang menarik: find \( -size +100M -fprintf /root/big.txt %-10s %p\n \). Mungkin contoh ini menunjukkan kepada kita bahwa dengan -size +100Mitu akan menemukan file dengan 100MB atau lebih. Bagaimana saya bisa mengonfirmasi? Pergi ke kepala manual dan mencari kata-kata lain.

Sekali lagi, mari kita coba kata itu greater. Menekan gakan membawa kita ke kepala manual. /greater, dan entri pertama adalah:

 Numeric arguments can be specified as

    +n     for **greater** than n,

    -n     for less than n,

     n      for exactly n.

Kedengarannya bagus. Tampaknya blok manual ini mengkonfirmasi apa yang kami duga. Namun, ini tidak hanya berlaku untuk ukuran file. Ini akan berlaku untuk apa pun nyang dapat ditemukan di halaman manual ini (seperti ungkapan: "Argumen numerik dapat ditentukan sebagai").

Baik. Mari kita menemukan cara untuk menyaring dengan nama: g /insensitive. Mengapa? Tidak peka? Wtf? Kami memiliki server ftp hipotetis, di mana "yang lain OS" orang bisa memberikan nama file dengan ekstensi seperti .jpg, .JPG, .JpG. Ini akan membawa kita ke:

-ilname pattern
              Like  -lname,  but  the  match  is  case insensitive.  If the -L
              option or the -follow option is in  effect,  this  test  returns
              false unless the symbolic link is broken.

Namun, setelah Anda mencari, lnameAnda akan melihat bahwa ini hanya akan mencari tautan simbolis. Kami ingin file nyata. Entri selanjutnya:

   -iname pattern
          Like -name, but the match is case insensitive.  For example, the
          patterns `fo*' and `F??' match  the  file  names  `Foo',  `FOO',
          `foo',  `fOo',  etc.   In these patterns, unlike filename expan‐
          sion by the shell, an initial '.' can be matched by  `*'.   That
          is, find -name *bar will match the file `.foobar'.   Please note
          that you should quote patterns as a matter of course,  otherwise
          the shell will expand any wildcard characters in them.

Bagus. Saya bahkan tidak perlu membaca tentang -nameuntuk melihat bahwa -inameini adalah versi case-sensitive dari argumen ini. Mari kita kumpulkan perintah:

Perintah: find /ftp/dir/ -size +500k -iname "*.jpg"

Apa yang tersirat di sini: Pengetahuan bahwa wildcard ?mewakili "karakter apa pun pada posisi tunggal" dan *mewakili "nol atau lebih karakter apa pun". The -nameparameter akan memberikan ringkasan pengetahuan ini.

Kiat yang berlaku untuk semua perintah

Beberapa opsi, mnemonik, dan "gaya sintaksis" berjalan melalui semua perintah yang membuat Anda membeli waktu dengan tidak harus membuka halaman manual sama sekali. Itu dipelajari dengan praktik dan yang paling umum adalah:

  • Secara umum, -vberarti verbose. -vvvadalah variasi "sangat sangat bertele-tele" pada beberapa perangkat lunak.
  • Mengikuti standar POSIX, umumnya satu argumen dasbor dapat ditumpuk. Contoh: tar -xzvf, cp -Rv.
  • Secara umum -Rdan / atau -rberarti rekursif.
  • Hampir semua perintah memiliki bantuan singkat dengan --helpopsi.
  • --version menunjukkan versi suatu perangkat lunak.
  • -p, pada salin atau pindahkan utilitas berarti "pertahankan izin".
  • -y berarti YA, atau "lanjutkan tanpa konfirmasi" dalam banyak kasus.

Perhatikan bahwa hal di atas tidak selalu benar. Sebagai contoh, -rsaklar dapat berarti hal yang sangat berbeda untuk perangkat lunak yang berbeda. Itu selalu merupakan ide yang baik untuk memeriksa dan memastikan kapan suatu perintah bisa berbahaya, tetapi ini adalah standar umum.

Nilai default dari perintah.

Pada bagian pager dari jawaban ini, kami melihat bahwa itu less -isadalah pager man. Perilaku default dari perintah tidak selalu ditampilkan di bagian yang terpisah pada halaman manual, atau pada bagian yang paling banyak ditempatkan.

Anda harus membaca opsi untuk mengetahui default, atau jika Anda beruntung, mengetik /pagerakan membawa Anda ke info itu. Ini juga mengharuskan Anda untuk mengetahui konsep pager (perangkat lunak yang menggulir halaman manual), dan ini adalah hal yang hanya akan Anda peroleh setelah membaca banyak halaman manual.

Mengapa itu penting? Ini akan membuka persepsi Anda jika Anda menemukan perbedaan pada scroll dan perilaku warna saat membaca man(1)di Linux ( less -ispager) atau FreeBSD man(1)misalnya.

Dan bagaimana dengan SYNOPSISsintaks?

Setelah mendapatkan semua informasi yang diperlukan untuk menjalankan perintah, Anda dapat menggabungkan opsi, argumen-opsi, dan operan sebaris untuk menyelesaikan pekerjaan Anda. Ikhtisar konsep:

  • Opsi adalah sakelar yang menentukan perilaku perintah. " Lakukan ini " " jangan lakukan ini " atau " bertindak seperti ini ". Sering disebut sakelar.
  • Argumen-opsi digunakan pada sebagian besar kasus ketika suatu opsi bukan biner (on / off) seperti -tpada mount, yang menentukan jenis sistem file ( -t iso9660, -t ext2). " Lakukan ini dengan mata tertutup " atau " beri makan hewan, tetapi hanya singa ". Disebut juga argumen.
  • Operan adalah hal-hal yang Anda inginkan untuk ditindaklanjuti perintah itu. Jika Anda menggunakan cat file.txt, operan adalah file di dalam direktori Anda saat ini, dan isinya akan ditampilkan pada STDOUT. lsadalah perintah di mana operan adalah opsional. Tiga titik setelah operan secara implisit memberi tahu Anda bahwa catdapat bertindak pada beberapa operan (file) secara bersamaan. Anda mungkin memperhatikan bahwa beberapa perintah telah mengatur jenis operan apa yang akan digunakan. Contoh:cat [OPTION] [FILE]...

Hal-hal sinopsis terkait:

Kapan metode ini tidak berhasil?

  • Halaman manual yang tidak memiliki contoh
  • Halaman manual di mana opsi memiliki penjelasan singkat
  • Bila Anda menggunakan kata kunci generik seperti and, to, fordi dalam halaman manual
  • Halaman manual yang tidak diinstal. Tampaknya sudah jelas tetapi, jika Anda belum menginstal lftp(dan halaman manualnya) Anda tidak dapat mengetahui bahwa itu adalah opsi yang cocok sebagai klien ftp yang lebih canggih dengan menjalankanman -k ftp

Dalam beberapa kasus, contohnya akan sangat sederhana, dan Anda harus melakukan beberapa eksekusi perintah Anda untuk menguji, atau dalam skenario kasus terburuk, Google itu.

Lainnya: Bahasa pemrograman dan modul-modulnya:

Jika Anda memprogram atau hanya membuat skrip, perlu diingat bahwa beberapa bahasa memiliki sistem manualnya sendiri, seperti perl( perldocs), python ( pydocs), dll., Menyimpan informasi spesifik tentang metode / fungsi, variabel, perilaku, dan informasi penting lainnya tentang modul Anda mencoba menggunakan dan belajar. Ini bermanfaat bagi saya ketika saya membuat skrip untuk mengunduh email IMAP yang belum dibaca menggunakan perl Mail::IMAPClientmodul.

Anda harus mencari tahu halaman manual tersebut dengan menggunakan man -katau mencari secara online. Contoh:

[root@host ~]# man -k doc | grep perl
perldoc              (1)  - Look up Perl documentation in Pod format


[root@host ~]# perldoc Mail::IMAPClient
IMAPCLIENT(1)         User Contributed Perl Documentation        IMAPCLIENT(1)

NAME
       Mail::IMAPClient - An IMAP Client API

SYNOPSIS
         use Mail::IMAPClient;

         my $imap = Mail::IMAPClient->new(
           Server   => ’localhost’,
           User     => ’username’,
           Password => ’password’,
           Ssl      => 1,
           Uid      => 1,
         );

... banyak hal lain di sini, dengan bagian seperti halaman manual biasa ...

Dengan python:

[root@host ~]# pydoc sys
Help on built-in module sys:

NAME
    sys

FILE
    (built-in)

MODULE DOCS
    http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
...again, another full-featured manpage with interesting info...

Atau, fungsi help()di dalam kulit python jika Anda ingin membaca detail lebih lanjut dari beberapa objek:

nwildner@host:~$ python3.6
Python 3.6.7 (default, Oct 21 2018, 08:08:16)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(round)

Help on built-in function round in module builtins:

round(...)
    round(number[, ndigits]) -> number

    Round a number to a given precision in decimal digits (default 0 digits).
    This returns an int when called with one argument, otherwise the
    same type as the number. ndigits may be negative.

Bonus: The wtfperintah dapat membantu Anda dengan akronim dan bekerja sebagai whatisjika tidak ada singkatan dari database itu ditemukan, tetapi apa yang Anda cari adalah bagian dari database manusia. Pada Debian, perintah ini adalah bagian dari bsdgamespaket. Contoh:

nwildner@host:~$ wtf rtfm
RTFM: read the fine/fucking manual
nwildner@host:~$ wtf afaik
AFAIK: as far as I know
nwildner@host:~$ wtf afak
Gee...  I don't know what afak means...
nwildner@host:~$ wtf tcp
tcp: tcp (7)              - TCP protocol.
nwildner@host:~$ wtf systemd
systemd: systemd (1)          - systemd system and service manager

sumber
Anda juga bisa melakukannya man find | grep .... Saya sukaman command | sed -n '/^[[:space:]]*-/,/^$/p'
mikeserv
6
Ya. Kamu bisa. Saya hanya berasumsi bahwa operatornya adalah "noob" dan mencoba untuk memulai dengan manual :)
3
Jawaban ini harus menjadi hasil teratas untuk "Bagaimana cara saya menggunakan secara efektif man?" Terima kasih dan dilakukan dengan baik.
user1717828
8
@nwildner, Anda berhak mendapatkan permen setelah jawaban yang begitu besar dan terformat dengan baik. Kerja bagus!
Willian Paixao
6
Saya pikir ini harus ditambahkan ke Linux. Sebagai manhalaman tentunya.
myaut
38

Ini dijelaskan dengan sangat baik di man man:

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.

   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

Adapun bagaimana Anda seharusnya menulis perintah yang valid dari itu, ya, Anda tidak. Sinopsis berguna setelah Anda tahu cara kerja suatu perintah. Ini dapat membantu Anda menyegarkan ingatan Anda. Untuk memahami cara kerja perintah, Anda harus membaca halaman manual. Terutama uraian opsi dan bagian contoh.

Terkadang sinopsis sudah cukup. Misalnya, di man ls:

SYNOPSIS
       ls [OPTION]... [FILE]...

Di lain waktu, tidak ada gunanya kecuali Anda sudah tahu cara menggunakan perintah yang dimaksud. Sebagai contoh, man dd:

   dd [OPERAND]...
   dd OPTION

Jadi, sebagai kesimpulan, jangan khawatir jika Anda tidak mendapatkan sinopsisnya. Itu normal. Baca halaman manual itu sendiri.

terdon
sumber
Terima kasih atas sarannya, terutama paragraf "As for how ...".
user1717828
21

Beberapa dasar untuk memahami sinopsis

  • masing-masing [foo]mewakili argumen atau parameter opsional.
  • ketika [foo [ bar ] ]sintaks digunakan, Anda dapat menggunakan foo, dan Anda dapat menambahkan bilah.
  • parameter opsi wajib digunakan dengan cara ini [ -S size ], yang mengatakan bahwa argumen -S sedang menunggu ukuran wajib.

Misalnya : foo [-S size ] filename ...

cara

  • perintah adalah foo
  • Parameter opsional -Sdapat digunakan, Anda harus memberi tahu size(nama memberi Anda petunjuk)
  • argumen wajib adalah filename(ini memberi Anda petunjuk juga, lihat man mkdir)
  • elipsis ...memberi tahu Anda bahwa Anda dapat menggunakan banyak file.

Anda masih harus masuk ke halaman manual untuk memahami opsi (dalam contoh kasus saya di atas, tentang apa -S size)

Archemar
sumber
14

manhalaman biasanya ditampilkan dengan lesssaat ini. Itu memungkinkan untuk mencari melalui mereka. Saya tidak akan repot dengan sinopsis, terutama bukan karena Anda memiliki perintah tertentu yang ingin Anda pahami.

Tekan /dan mulai mengetik -Ilalu Enter. Hit pertama akan ada di sinopsis, yang kedua (gunakan nuntuk selanjutnya) memberi Anda penjelasan terperinci untuk -I.

Anthon
sumber
11

Satu hal penting yang perlu diingat adalah bahwa Anda tidak bisa hanya melihat manual untuk satu perintah, dalam hal perintah yang mengeksekusi perintah lain.

Sebagai contoh perintah Anda

locate something | xargs -I {} bash -c "if [ -d "{}" ]; then echo {}; fi"

Anda memerlukan informasi tentang tidak hanya xargstetapi juga bashdan [(ini mungkin ada di halaman testmanual). Anda juga mungkin memerlukan informasi tentang shell Anda (mungkin juga bash) untuk aturan kutip, karena perintah Anda menyertakan string yang dikutip kompleks. Saya sudah bisa memberi tahu Anda bahwa argumen yang dikutip salah (dan salah dengan cara yang hanya akan muncul ketika Anda menemukan file dengan spasi di namanya); batin "{}"seharusnya '{}'.

Jadi pertama-tama Anda akan merujuk ke halaman manual xargs dan melihat [-I replace-str]apa -I {}artinya, dan [command [initial-arguments]]untuk apa bashdan segala sesuatu setelah artinya. Maka Anda akan merujuk ke halaman bashmanual untuk apa -c, dll.

Random832
sumber
6

Menambahkan jawaban hebat yang sudah diberikan:

1) Jika Anda tertarik dengan utilitas gnu, terutama yang suka seddan grep, kadang-kadang, menggunakan infoperintah akan memunculkan versi informasi perintah yang sangat diperluas. sed, misalnya, memiliki bagian rinci tentang cara menulis ekspresi reguler dan bagian lain dengan beberapa contoh penggunaan yang sangat kompleks.

2) Ini adalah "manual". Manual terutama dirancang untuk membantu Anda mengingat detail dari sesuatu yang sudah Anda pahami. Ini dirancang agar Anda bisa mendapatkan detail yang Anda butuhkan dengan cepat dan keluar. (Dan terlalu banyak yang tidak memiliki contoh penggunaan atau hanya yang sepele.)

Ketika saya perlu belajar sesuatu yang baru, bahkan fitur kecil dari perintah yang tidak jelas bagi saya, saya pergi ke web dan pencarian menggunakan kata kunci yang terbaik yang bisa saya pikirkan (misalnya Linux xargs) dan menambahkan kata howto, examplesatau tutorial. Ini sangat sering sangat produktif.

Saya biasanya menggunakan duckduckgo karena menjaga privasi saya, tetapi jika saya membutuhkan kontrol lebih besar dari pencarian saya, saya menggunakan Google karena saya dapat mengatakannya hanya untuk mencari dalam satu situs web atau hanya mengembalikan hasil dari tahun lalu. (Ini memiliki banyak opsi Pencarian Lanjutan lainnya. Anda dapat Google mereka.;))

Kiat lain:

Untuk perintah yang sering saya referensi, saya menyimpan halaman manual dalam file teks

man bash > bashman.txt

dan memuat file itu ke jendela lain di editor teks saya sehingga saya bisa membalik-balik, salin dan tempel, dll. Saya biasanya membuat file hanya baca, jadi saya tidak mengacaukannya secara tidak sengaja, tetapi karena itu milik saya salinan pribadi, saya dapat mengeditnya dengan cara apa pun yang saya inginkan, menambahkan tag sehingga saya dapat menemukan bagian lebih mudah atau bahkan menambahkan catatan atau contoh saya sendiri.

Satu-satunya kelemahan dari ini adalah bahwa halaman manual asli dapat diperbarui dan salinan saya statis.

Joe
sumber
4

Untuk mendapatkan bantuan cepat dengan perintah spesifik Anda, Anda dapat menggunakan Explain Shell . Misalnya perintahmu . Setelah mendapatkan pemahaman tingkat tinggi pertama tentang cara kerjanya, Anda harus melanjutkan dengan halaman manual seperti yang direkomendasikan oleh jawaban lain.

AVImd
sumber
2

Ada beberapa alat yang berguna untuk mempelajari lebih lanjut tentang perintah linux:

  1. cheatakan menampilkan opsi yang sering digunakan untuk baris perintah. Anda juga dapat menambahkan sendiri command + optionuntuk ditampilkan melalui cheatuntuk perintah tertentu.
  2. bropagesalat memberikan beberapa contoh untuk baris perintah, dimungkinkan untuk menambahkan contoh Anda sendiri atau menaikkan / menurunkan contoh yang diberikan setelah mendapatkan kode verifikasi bro thanks. Perintah harus memilih akan muncul di bagian atas brohalaman.
GAD3R
sumber
1

Saya sarankan tldruntuk alat serupa manusia yang komprehensif. Halaman manual yang disederhanakan dan digerakkan oleh komunitas. Di Ubuntu Anda dapat menginstalnya melalui snap, tetapi ia juga memiliki versi untuk distribusi lain. Ini juga memberi Anda beberapa contoh penggunaan umum. 100% direkomendasikan.

José Castillo Lema
sumber
0

> Saya mencari bantuan menafsirkan halaman manual untuk memahami perintah yang rumit.

Saya pikir itu kesalahpahaman di sini. Apa yang membuat Linux / UNIX begitu kuat adalah bahwa Anda dapat membangun perintah yang sangat panjang dan efektif dengan misalnya mengarahkan ulang stdout dari satu perintah (di sini, locate) ke stdin dari perintah lain (di sini, xargs) melalui pipa ( |). Oleh karena itu, seperti yang dikatakan Random832 dengan benar, Anda tidak akan menemukan satu halaman manual yang menjelaskan apa yang dilakukan oleh perintah contoh Anda.

Saya sarankan Anda membaca panduan skrip shell Linux; yang Lanjutan Bash-Scripting Guide adalah dokumen yang sangat baik. Tolong jangan diintimidasi olehnya; menguasai Linux membutuhkan waktu bertahun-tahun dan merupakan proses yang tidak pernah berakhir, tetapi Anda dapat mempelajari dasar-dasarnya dalam jumlah waktu yang wajar.

Kemudian, lihat halaman manual ketika Anda perlu mengetahui detail dari perintah tertentu.

Setelah Anda mendapatkan intinya, Commandlinefu dan Bash One-Liners juga layak dibaca untuk mendapatkan contoh yang baik.

dr01
sumber
-1

Untuk mencari sesuatu yang khusus dalam perintah di halaman manual, Anda dapat menggunakan:

man echo | grep output.

Tetapi untuk mencari sakelar (misalnya -n), Anda harus menggunakannya dengan cara ini:

man echo | grep -- -n
subtleseeker
sumber