Daftar semua halaman manual yang tersedia

34

Bagaimana cara menghasilkan daftar semua halaman manual yang tersedia pada suatu sistem?

psihodelia
sumber

Jawaban:

44

Menggunakan:

apropos .

atau:

man -k .

dimana .regex artinya: "karakter apa saja".

cYrus
sumber
3
Juga berguna: apropos -s 1 .untuk membatasi ke bagian 1 (perintah pengguna), misalnya.
Dijeda sampai pemberitahuan lebih lanjut.
Saya akan menyarankan untuk melihat bagaimana bash dan zsh menyediakan penyelesaian, tetapi ini jauh lebih sederhana (meskipun lebih portabel, karena tidak semua sistem menerima regexp sebagai argumen untuk apropos).
Gilles 'SANGAT berhenti menjadi jahat'
tak satu pun dari mereka yang bekerja di cygwin untuk saya
Wyatt8740
9
$ man -k . -s <section-NR>

Misalnya untuk menampilkan semua bagian 2 halaman:

$ man -k . -s 2
Harun
sumber
Saya berharap man 2 -k '.'akan bekerja juga. Tapi tidak
Ankur Agarwal
Coba lagi dan tentukan bagian setelah opsi -k seperti yang ditunjukkan di atas ...
Aaron
Jawaban ini jelas lebih berguna
Lucius Hu
Menentukan nomor bagian tidak berfungsi untuk saya.
OregonTrail
3

Inilah favorit saya:

whatis -r .

... dan jika Anda hanya ingin melihat semua halaman manual di bagian tertentu gunakan -sbendera.

Misalnya, jika Anda hanya ingin mendapatkan daftar semua halaman manual untuk semua perintah yang dapat dieksekusi (bagian 1):

whatis -s 1 -r .
Philip Clarke
sumber
2
# Shell script to list pathname of all available man pages  
mandirs="\`man -w | sed 's/:/ /g'\`"  
find $mandirs -type f  

Ini menghasilkan daftar semua file man, menggunakan daftar direktori man yang dihasilkan oleh "man -w", namun, solusi any-character-regex cYrus jauh lebih baik, pipa meskipun awk untuk mendapatkan daftar bersih hanya halaman nama:

apropos . | awk '{print $1}'

atau

man -k . | awk '{print $1}'
R Perrin
sumber
1
Dengan begitu Anda akan kehilangan bagian manual dan karenanya membuat duplikat. Untuk yang terakhir lewat pipa sort -u.
cYrus
@ cYrus atau cukup modifikasi man -k . | awk '{print $1,$2}'agar bagian
villapx
0

Lihat di jalur yang tercantum /etc/man.config, dengan direktori tambahan seperti yang ditambahkan oleh FHSatau FSSTNDdirektif sesuai kebutuhan.

Ignacio Vazquez-Abrams
sumber
Lalu? Saya pikir lebih baik membaca path dari variabel MANPATH. Tapi itu mengerikan, karena ada sejumlah besar subdir dan berisi ekstensi file yang berbeda seperti 1 atau gz. Omong-omong, banyak sistem tidak memiliki man.config di / etc
psihodelia
1
@psihodelia: Di sistem saya ini /etc/manpath.configdan $MANPATHtidak ada.
Dijeda sampai pemberitahuan lebih lanjut.
0

Di macOS, Anda bisa menggunakan

man -k .

atau

apropos .

atau

whatis .

Namun, pada macOS, perintah man -k, aproposdan whatistidak mendukung penyaringan berdasarkan bagian.

Jadi, Anda dapat menggunakan pipa berikut untuk melakukannya

man -k . | grep \(1\) | less

Anda dapat mengganti 1dengan bagian manual pilihan Anda.

OregonTrail
sumber