Jawaban:
Perhatikan nomor bagian: Misalkan Anda ingin bantuan printf
. setidaknya ada dua di antaranya: di shell dan di C. Versi bash dari printf ada di bagian 1, versi C di bagian 3 atau 3C. Jika Anda tidak tahu yang mana yang Anda inginkan, ketik man -a printf
, dan semua halaman manual akan ditampilkan.
Jika yang Anda cari adalah format printf dengan semua kode% dan itu tidak muncul pada halaman manual printf, Anda dapat melompat ke halaman manual terkait yang terdaftar di bawah JUGA JUGA paragraf. Anda mungkin menemukan sesuatu seperti formats(5)
, yang menyarankan Anda untuk mengetik man 5 formats
.
Jika Anda kesal yang man printf
memberi Anda printf (1) dan yang Anda inginkan adalah printf (3), Anda harus mengubah urutan direktori yang dipindai di MANPATH
variabel lingkungan dan meletakkan yang untuk bahasa C sebelum yang untuk perintah shell. Ini dapat terjadi juga ketika halaman manual Fortran atau TCL / Tk dicantumkan sebelum yang C.
Jika Anda tidak tahu harus mulai dari mana, ketik man intro
, atau man -s <section> intro
. Ini memberi Anda ringkasan perintah dari bagian yang diminta.
Bagian didefinisikan dengan baik:
Terakhir tetapi tidak kalah pentingnya: informasi yang dikirim di halaman manual tidak berlebihan, jadi bacalah dengan cermat dari awal hingga akhir untuk meningkatkan peluang Anda untuk menemukan yang Anda butuhkan.
man man
untuk melihat keterangan lengkap dari berbagai bagian.
strstr()
) , dan saya tidak punya internet di sekitar saya.
man -k substring
atau apropos substring
akan membantu Anda.
Ketik slash /
lalu ketikkan string yang akan dicari. Kemudian terus menekan n
untuk mendapatkan ke item berikutnya
pencarian man -k
Ini akan memberi Anda daftar semua halaman manual yang berhubungan dengan 'pencarian'.
man -k search -s 3
Disebutkan juga di superuser.com/a/677969/599957
Seperti yang dikatakan @Steven D, jangan lupakan info
halamannya.
Selain itu, jangan terintimidasi oleh info
halaman. Saya kenal banyak orang yang tidak menggunakan halaman info karena sistem navigasi bawaan. Solusi favorit saya adalah menyalurkan informasi melalui less
:
info gpg |less
Dengan cara ini, saya dapat menavigasi info
halaman menggunakan pager favorit saya. The info
halaman sekarang akan berperilaku sama seperti man
halaman.
The apropos
utilitas serius berguna untuk menemukan manualnya yang tepat.
man -k
== apropos
, bukan?
apropos
adalah apa yang saya gunakan setiap saat ketika mencari sesuatu yang belum memiliki halaman manual untuk dirinya sendiri.
Pager default untuk membaca halaman manual adalah less
. Ada dokumentasi di less
sini .
Khususnya:
ctrl+space
/ f
, yang mungkin berguna tergantung pada jari mana yang Anda sukai untuk digunakan untuk navigasi.
Selalu periksa apa yang ada di bagian LIHAT JUGA. Perintah yang ditunjukkan di bawah bagian ini pada info
halaman dapat dipilih dengan menempatkan kursor pada perintah yang diinginkan dan kemudian menekan tombol enter. Seringkali saya menemukan perintah atau fungsi berguna lainnya seperti itu.
Saya kira, menggunakan kebanyakan pager adalah ide yang bagus. Pager ini sangat kuat, tetapi fitur utama bagi saya - menampilkan halaman manual berwarna. Fitur ini meningkatkan persepsi teks biasa dan memudahkan pencarian informasi yang diperlukan.
Lihat screenshot yang terlampir, teks terlihat sangat bagus, bukan?
most
untuk melihat halaman manual.
> ~/.bashrc
karena akan menimpa apa yang sudah ada di sana. Lebih baik menambahkan ( >>
) atau menambahkan jeruk nipis secara manual menurut saya.
aptitude install most; export MANPAGER="most"; man man
. Untuk menjadikannya permanen:echo 'export MANPAGER="most"' >> ~/.bashrc
Di Linux man
, Anda dapat melakukan man -K string
(perhatikan huruf besar K) untuk melakukan pencarian brute force dari istilah yang diberikan
-K, --global-apropos
Search for text in all manual pages. This is a brute-force
search, and is likely to take some time; if you can, you should
specify a section to reduce the number of pages that need to be
searched. Search terms may be simple strings (the default), or
regular expressions if the --regex option is used.
sangat berguna ketika Anda tidak tahu ke mana harus mencari.
Jangan abaikan info
halamannya. Banyak alat GNU memiliki halaman info yang jauh lebih luas daripada halaman manual. Seringkali, bagian LIHAT JUGA akan mengatakan "Dokumentasi lengkap untuk foo dikelola sebagai manual Texinfo." Ini terutama berlaku untuk apa pun dalam paket GNU coreutils.
Juga, jika Anda adalah pengguna emacs, jangan lupa Anda dapat membaca info dan halaman manual tanpa meninggalkan editor Anda: M-x info
dan M-x woman
.
Untuk halaman manual yang lebih lama dan lebih kompleks, saya merasa jauh lebih mudah untuk membacanya dari komputer (aneh, saya tahu) dan jadi saya memiliki fungsi-fungsi ini di .bashrc
# Print man pages
manp() { man -t "$@" | lpr -pPrinter; }
# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \
xdg-open /tmp/manpdf_$1.pdf ;}
Dari jawaban Kristof, jika Anda (yaitu) mengetik, man -k chmod
Anda akan mendapatkan daftar kemungkinan. Perhatikan angka dalam tanda kurung, itu berarti bagian yang harus dicari di halaman manual:
Pada UNIX Anda dapat mencoba:
man -s1 chmod
itu akan menampilkan halaman manual untuk perintah chmod
man -s2 chmod
itu akan menampilkan halaman manual untuk fungsi C lib chmod ()
Pada Linux Anda harus mengubah -s
untuk-S
Lihat halaman manual dalam aplikasi grafis yang mudah digunakan:
konqueror man:(command)
Untuk daftar isi tingkat atas:
konqueror man:
Fitur:
info:(command)
. Beberapa program memberikan lebih banyak informasi melalui "info" daripada melalui "man", dan konqueror menyediakan antarmuka yang jauh lebih baik untuk menjelajahi halaman info ini. Catatan: Hanya menggunakan info:
, juga berfungsi untuk mendapatkan daftar isi tingkat atas.
gman
paket yang membuat server web manual di localhost / cgi-bin / man / man2html .
yelp
menjadi pengganti drop-in yang lebih ringan untuk konqueror
- meskipun memiliki kekurangan tidak menyajikan daftar isi atau halaman disambiguasi untuk nama yang digunakan dalam banyak bagian. Anda harus membedakan ini secara eksplisit dengan menambahkan .(section)
- misalnya yelp man:open.2
. Anda juga dapat menggunakan <kbd> Ctrl-L </kbd> untuk membuka bilah lokasi.
Dayum, semuanya! Ada apa dengan jawaban yang berbelit-belit ?! Apa pun yang terjadi pada kesederhanaan menjadi kunci kecemerlangan dan apa yang tidak? Sebagian besar kunci vi / vim Anda akan bekerja dengan baik:
/
atau ?
- Cari maju atau mundur (seperti beberapa orang telah sebutkan). Dalam kasus yang pertama, huruf kecil n akan menggulir pertandingan ke depan, huruf kapital N akan mundur. Yang sebaliknya berlaku untuk yang terakhir-tanda tanya.
Pencarian sedikit lebih kompleks melalui ekspresi reguler. Perbedaan antara man
(atau less
) dan VIM adalah bahwa Anda harus menggunakan karakter escape () untuk mendeklarasikan metacharacters dalam ekspresi Anda saat menggunakan yang terakhir. Kabar baiknya adalah bahwa ketika Anda menggunakan yang pertama ( man
atau less
) -tidak banyak. Jadi Anda dapat dengan mudah menempatkan ini untuk digunakan ketika mencari, misalnya, sebuah iptables
halaman manual untuk beberapa istilah seperti:
/(iptables|rules)
. Jika Anda tidak terbiasa dengan ekspresi reguler, ini berarti "Cari contoh kata iptables
ATAUrules
". Setelah memasukkan ini dan terus menekan n Anda akan menggulir hasil pencarian bergantian dengan hasil yang disorot dengan baik untuk Anda dengan warna yang berbeda (dua, sebenarnya. Haha). Jika Anda mencoba untuk menelusuri halaman dan ingin berkonsentrasi pada istilah atau konsep tertentu - Anda tidak akan melewatkan satu hal pun!
Dan, tentu saja, untuk navigasi yang lebih cepat, vi
standbies biasa Anda tetap bertahan (tidak ada permainan kata-kata):
gg
atau G
- awal / akhir dokumen; (Koreksi! Di man
Anda dapat menggunakan semua kunci yang disebutkan di bawah tanpa menggunakan Ctrl. Itu vi
hanya untuk itu ).
Ctrl + u or d
- Gulir ke atas atau ke bawah;
Ctrl + b or f
- Hal yang sama, hanya dalam lompatan yang lebih besar. "Halaman mundur atau maju";
e
atau y
- gulir dengan satu baris, tapi saya pikir kebanyakan orang lebih suka menggunakan tombol panah. Namun, jika Anda ingin tetap "1337" dan "tidak pernah meninggalkan baris rumah" (seperti yang saya lakukan lol) -itu cara untuk pergi.
Yang ingin saya katakan adalah bahwa UNIX memiliki dua rasa utama kontrol program papan ketik, yang keduanya merupakan bagian dari readline
perpustakaan: vi dan emacs. Tingkatkan daging Anda dalam salah satu (tapi, lebih baik-dalam keduanya) dan itu akan membuat hidup Anda jauh lebih rumit. Sebagian besar program CLI di UNIX menggunakan salah satunya. BASH
menggunakan kontrol emacs secara default, tetapi dapat dengan mudah diatur ke "mode vi" dengan mengetik set -o vi
. Hal yang sama dapat dikatakan untuk ekspresi reguler, tetapi itu akan jauh dari topik. Saya bahkan akan mengatakan bahwa keduanya adalah "lingua franca" dari UNIX.
Mirip dengan tetapi sedikit berbeda dari jawaban Rob Hoelz,
Tambahkan yang berikut ini di ~/.vimrc
:
let $GROFF_NO_SGR=1
runtime ftplugin/man.vim
Sekarang vimman
adalah penampil halaman manual yang sangat baik, dan :Man
dari dalam Vim (atau hanya menekan K
kata kunci) adalah browser halaman manual yang sangat baik.
Sebagian besar dari kita mengatur variabel PATH. Ini akan menunjukkan kepada Anda cara membuat jalur pencarian pria cocok dengan PATH pencarian perintah Anda.
Katakanlah Anda menambahkan jalur Anda untuk menyertakan utilitas pribadi, khusus untuk pekerjaan Anda, dan yang diinstal secara lokal, seperti export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Sebagai efek samping, man foo
tidak akan menampilkan halaman manual yang disimpan di ~ / man, / workgroup / man atau / opt / local / man.
Untuk mengatasi ini, saya menggunakan manpath
perintah untuk secara otomatis mengatur jalur pencarian halaman manual. Sebagai contoh, my ~ / .bashrc memiliki yang berikut ini. Ini berfungsi untuk saya pada seratus sistem berbeda yang menjalankan semuanya dari FreeBSD 4.x, Darwin dan CentOS 5:
### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin
### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null
Beberapa sistem (Seperti Apple Leopard) mengatur MANPATH secara otomatis, tetapi itu berarti bahwa sistem Anda akan menggunakan variabel MANPATH alih-alih menggunakan manpath
. Akibatnya, halaman manual untuk 'MacPorts' (/ opt / local / man) diabaikan. Saya ingin mengendalikan ini sendiri, jadi saya membatalkan MANPATH:
unset MANPATH
manpath >/dev/null
Jika Anda kesal bahwa man printf memberi Anda printf (1) dan semua yang Anda inginkan adalah printf (3), Anda dapat memberi tahu pria Anda menginginkan printf dari bagian 3 dengan meletakkan bagian sebelum printf, seperti: man 3 printf
tanpa harus mengubah urutan direktori yang dipindai di variabel lingkungan MANPATH dan letakkan yang untuk bahasa C sebelum yang untuk perintah shell.
Saya hanya menggunakan grep
. Jika saya ingin tahu apa yang dilakukan -s
opsi read
perintah, saya akan mencoba perintah ini sampai saya mendapat jawaban:
info read |grep \\-s
man read |grep \\-s
help read |grep \\-s
Dalam hal ini hanya info
perintah yang memberikan jawaban yang jelas. Jawaban yang luar biasa ini memberikan perincian tentang berbagai sistem bantuan.
Untuk mencari efisien untuk beralih karakter tunggal, misalnya -u
, Anda dapat sering menggunakan:
/^ *-u($|\s)
Menghemat banyak waktu jika banyak opsi memiliki '-u' sebagai awalan.
/-u($|[,\s])
jika karakter opsi dibingkai dengan koma. Tetapi jika Anda ingin melihat semua entri dari karakter pilihan 'u' (seperti -u]
di [--udp|-u]
dari netstat
manual) Anda akan membutuhkan sesuatu seperti ini: /-u($|[^a-z])
Dan jika vi
atau vim
digunakan sebagai pager: /-u\($\|[^a-z]\)
Perintah apropos (1) digunakan untuk mencari halaman manual. Namun, sebagian besar implementasi apropos (1) hanya mencari di bagian NAME, yang sangat membatasi.
NetBSD memiliki implementasi pencarian teks lengkap dari apropos (1), yang mampu mencari konten halaman manual yang lengkap. Ada juga antarmuka berbasis web untuk itu: man-k.org , yang dapat Anda coba.
Jika Anda merasa sulit untuk membaca manual karena semua teks berwarna putih, Anda dapat mewarnai mereka. Sebagian besar halaman buku dibuka bersama less
. Karena less
, saya menggunakan pengaturan warna berikut .bashrc
dari sini :
man() {
LESS_TERMCAP_md=$'\e[01;31m' \red
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_se=$'\e[0m' \
LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
LESS_TERMCAP_ue=$'\e[0m' \
LESS_TERMCAP_us=$'\e[01;32m' \green
command man "$@"
}
Ini untuk bash dan zsh. Untuk most
,fish
, xterm
dan rxvt
melihat link di atas.
Untuk bacaan lebih lanjut:
Dan bagi orang-orang yang suka membaca halaman info dan man di layar sentuh, Anda dapat mengirim info ke yad atau zenity dan memanfaatkan semua barang gtk3 seperti scroll jari asli. Juga berfungsi baik dengan layar dan mouse refular:
man cat |yad --text-info
Anda juga dapat menggunakan zenity atau menambahkan opsi yad seperti:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Kiat: dengan menunjukkan uri yoh dapat mengklik tautan web di dalam halaman manual dengan mouse / jari.
man --help
/man -h
dan saudara yang lebih lengkapman man
memiliki tips pencarian dan navigasi.