Halaman manual untuk fork, misalnya, ada di bagian Panggilan Sistem yang memiliki nomor 2:
man 2 fork
Bagaimana Anda melihat apa lagi bagian 2 tanpa beralih ke Google?
Halaman manual untuk fork, misalnya, ada di bagian Panggilan Sistem yang memiliki nomor 2:
man 2 fork
Bagaimana Anda melihat apa lagi bagian 2 tanpa beralih ke Google?
Jawaban:
Perintah ini mencantumkan nama yang diurutkan dari semua entri di bagian yang diberikan:
man -aWS 1 \* | xargs basename | sed 's/\.[^.]*$//' | sort -u
Jika Anda ingin melihat nama path, gunakan:
man -aWS 1 \* | sed 's/\.[^.]*$//' | sort
Ini memberitahu Anda manuntuk mencari bagian untuk semua perintah menggunakan pola wildcard *(tanda kutip garis miring terbalik sehingga shell tidak menafsirkannya). -amenemukan semua kecocokan, -Wmencetak nama path alih-alih menampilkan halaman, dan -S 1menentukan bagian satu. Ubah bagian 1apa pun yang ingin Anda cari.
The sedperintah strip ekstensi nama file; hapus jika Anda ingin melihat nama file lengkap. sortmengurutkan hasil ( -umenghapus duplikat).
Untuk penggunaan ulang yang nyaman, ini mendefinisikan fungsi Bash shell:
function mansect { man -aWS ${1?man section not provided} \* | xargs basename | sed 's/\.[^.]*$//' | sort -u; }
Misalnya, Anda dapat memintanya mansect 3untuk melihat entri di bagian tiga.
[Diuji pada macOS.]
uniqdalam pipa tidak diperbaiki.
sort -uuntuk menghapus duplikat.
Untuk membuat daftar semua halaman manual yang terinstal dari bagian tertentu Anda dapat menggunakan apropos :
apropos -s 2 . # use an regex for apropos . means anything
apropos -s 2 -w '*' # use unix globbing for apropos
man -a -s 2 '*'
Halaman manual biasanya ditempatkan di /usr/share/man, tetapi periksa $MANPATH, dan disusun menjadi beberapa bagian seperti:
Section 1:
/usr/share/man/man1/
Section 2:
/usr/share/man/man2/
...
Jadi untuk membuat daftar semua halaman 2 bagian yang diinstal, lakukan:
ls /usr/share/man/man2/
Atau yang lebih lengkap:
find $(echo $MANPATH | tr ':' ' ') -path '*/man2/*'
Yang terakhir akan memiliki masalah jika Anda memiliki direktori $MANPATHdengan ruang dalam nama mereka.
Pada sebagian besar distribusi, Anda juga dapat memeriksa halaman manual yang tersedia dengan alat paket, misalnya pada distribusi turunan Debian yang dapat Anda gunakan apt-fileseperti:
apt-file search /man2/
lman 2dan mencantumkan nama tanpa hiasan untuk setiap halaman pada baris baru dan halaman mereka. Tubuh fungsinya adalah:find $(man --path | tr ':' ' ') -path "*/man$1/*"| xargs basename | sort | sed -E "s/\.$1(.gz)?\$//" | less
Saya tahu ini adalah pertanyaan yang sangat lama, namun jawaban yang diberikan di sini tidak bekerja untuk saya. Oleh karena itu saya datang dengan satu-liner berikut yang bekerja di Ubuntu 18.04 dan macOS Mojave, 10.14.6:
find $(man --path | tr ':' ' ') -type f -path '*man2*' \
-exec basename {} \; | sed 's/\..*//' | sort
Lari cepat ke bawah:
$(man --path | tr ':' ' ')untuk mendapatkan jalur saat ini dari halaman manualfind <man paths> -type f -path '*man2*' -exec basename {} \; mendapatkan nama file dari semua file biasa di path mansed menghilangkan ekstensi filesort menurut abjad.