Adakah yang punya trik dan tip untuk menemukan informasi di halaman manual?
Perhatikan nomor bagian: Misalkan Anda ingin bantuan pada printf
. setidaknya ada dua di antaranya: di Shell dan C. Versi bash dari printf ada di bagian 1, versi C ada 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 karena man printf
Memberi Anda printf (1) dan yang Anda inginkan adalah printf (3), Anda harus mengubah urutan direktori yang dipindai di variabel lingkungan MANPATH
dan meletakkan yang untuk bahasa C sebelum perintah Shell. Ini dapat terjadi juga ketika halaman manual Fortran atau TCL/Tk didaftar 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.
Ketik slash /
lalu ketikkan string yang akan dicari. Kemudian terus tekan n
untuk sampai ke item berikutnya
man -k pencarian
Ini akan memberi Anda daftar semua halaman manual yang berhubungan dengan 'pencarian'.
Seperti yang dikatakan @Steven D, jangan lupa halaman info
.
Selain itu, jangan terintimidasi oleh halaman info
. Saya kenal banyak orang yang tidak menggunakan halaman info karena sistem navigasi bawaan. Solusi favorit saya adalah menyalurkan halaman info melalui less
:
info gpg |less
Dengan cara ini, saya dapat menavigasi halaman info
menggunakan pager favorit saya. Halaman info
sekarang akan berperilaku sama dengan halaman man
.
Utilitas apropos
sangat berguna untuk menemukan halaman manual yang sesuai.
Pager default untuk membaca halaman manual adalah less
. Ada dokumentasi di less
di sini .
Khususnya:
Selalu periksa apa yang ada di bagian LIHAT JUGA. Perintah yang ditunjukkan di bawah bagian ini di halaman info
dapat dipilih dengan menempatkan kursor pada perintah yang diinginkan dan kemudian menekan tombol enter. Seringkali saya menemukan perintah atau fungsi lain yang bermanfaat seperti itu.
Jika Anda lebih nyaman dengan editor daripada pager default, Anda dapat mengatur MANPAGER
di lingkungan Anda. Sebagai contoh, saya memiliki baris ini di ~/.bashrc
:
export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"
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?
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 halaman info
. Banyak alat GNU memiliki halaman info yang jauh lebih luas daripada halaman manual. Seringkali, bagian LIHAT JUGA akan mengatakan "Dokumentasi lengkap untuk foo disimpan sebagai manual Texinfo. "Ini terutama benar untuk apa pun dalam paket coreutils GNU.
Juga, jika Anda adalah pengguna emacs, jangan lupa Anda dapat membaca halaman info dan 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 "[email protected]" | lpr -pPrinter; }
# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "[email protected]" | ps2pdf - /tmp/manpdf_$1.pdf && \
xdg-open /tmp/manpdf_$1.pdf ;}
Dari jawaban Kristof, jika Anda (mis.) 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 ()
Di Linux Anda harus mengubah -s
untuk -S
Mirip dengan tetapi sedikit berbeda dari jawaban Rob Hoelz,
Tambahkan yang berikut di ~/.vimrc
Anda:
let $GROFF_NO_SGR=1
runtime ftplugin/man.vim
Sekarang vimman
adalah penampil halaman manual yang bagus, dan :Man
dari dalam Vim (atau cukup memukul K
di atas kata kunci ) adalah browser manual yang luar biasa.
Lihat halaman manual dalam aplikasi grafis yang mudah digunakan:
konqueror man:(command)
Untuk daftar isi tingkat atas:
konqueror man:
Fitur:
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 sangat baik:
/
Atau ?
- Cari maju atau mundur (seperti yang telah disebutkan beberapa orang). 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 karakter metakarakter dalam ekspresi Anda saat menggunakan yang terakhir Berita baiknya adalah ketika Anda menggunakan yang pertama (man
atau less
) - tidak begitu banyak. Jadi Anda dapat dengan mudah menggunakan ini saat 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
OR = rules
". 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 Anda tetap ada (tidak ada permainan kata pun): gg
atau G
- awal/akhir dokumen; (Koreksi! Dalam man
Anda dapat menggunakan semua kunci yang disebutkan di bawah ini tanpa menggunakan Ctrl. Itu hanya untuk vi
saja). 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 saja. 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 dari kontrol program papan ketik, yang merupakan bagian dari pustaka readline
: 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 mengetikkan 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.
Untuk mencari saklar karakter tunggal secara efisien, misalnya -u
, Anda sering dapat menggunakan:
/^ *-u($|\s)
Menghemat banyak waktu jika banyak opsi memiliki '-u' sebagai awalan.
Sebagian besar dari kita menetapkan 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 perintah manpath
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
man -a printf
hanya default ke man 1
di mesin Linux Mint saya. whatis printf
memberi saya informasi terkait.
Jika Anda mencari informasi mengenai bash
builtin (seperti time
, disown
, set
, atau [[
), alih-alih slogging melalui detail bash
info halaman atau man bash
, kamu dapat masuk help {builtin-keyword}
dan dapatkan informasi sintaksis dasar dengan cepat.
Saya hanya menggunakan grep
. Jika saya bertanya-tanya apa -s
pilihan dari perintah read
lakukan, 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 perintah info
yang memberikan jawaban yang jelas. Jawaban luar biasa ini memberikan detail tentang berbagai sistem bantuan.
Jika Anda kesal karena 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 meletakkan yang untuk bahasa C sebelum yang untuk perintah Shell.
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 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.
Jika Anda merasa sulit untuk membaca halaman manual karena semua teks berwarna putih, Anda dapat mewarnai mereka. Kebanyakan halaman manual dibuka dengan
less
. Untuk less
, saya menggunakan pengaturan warna berikut dalam .bashrc
from di 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 "[email protected]"
}
Ini untuk bash dan zsh. Untuk most
, fish
, xterm
dan rxvt
lihat tautan di atas.
Untuk bacaan lebih lanjut:
Perintah apropos (1) digunakan untuk mencari halaman manual. Namun, sebagian besar implementasi apropos (1) cari saja di bagian NAME, yang sangat terbatas.
NetBSD memiliki implementasi pencarian teks lengkap dari apropos (1), yang mampu mencari konten lengkap dari halaman manual. Ada juga antarmuka berbasis web untuk itu: man-k.org , yang dapat Anda coba.