halaman manual semua perintah disimpan di /usr/share/man/ direktori di Linux. Halaman manual dikompresi dalam gzip (.gz) format. Ingin tahu perintah mana yang memiliki halaman manual terbesar di sistem Linux Anda? Di sini sarana terbesar, saya berbicara tentang jumlah baris di halaman manual. Ini bukan tentang ukuran file atau jumlah halaman saat dicetak. Jika Anda pernah bertanya-tanya bagaimana menemukan halaman manual terpanjang di distribusi Linux dan Unix, ikuti salah satu metode yang diberikan di sini.
Temukan Halaman Manual Terpanjang di Linux
Kita dapat menemukan halaman manual terbesar dan terpanjang dengan menghitung jumlah baris dan kata di dalamnya. wc Perintah ini digunakan untuk menghitung jumlah baris dan kata dalam sebuah file. Misalnya, untuk menghitung jumlah baris dalam ls halaman manual perintah, jalankan:
$ man ls | wc -l
Demikian pula, untuk menghitung jumlah kata di halaman manual ls, gunakan -w tandai seperti di bawah ini.
$ man ls | wc -w
Temukan jumlah baris dan kata dalam halaman manual di linux
Namun, menghitung jumlah baris di setiap halaman manual itu membosankan, memakan waktu dan mungkin ide yang bodoh untuk mengetahui halaman manual terpanjang di seluruh sistem. Kita dapat dengan mudah menemukan ini menggunakan for loop seperti di bawah ini.
for i in {1..8}; do f=/usr/share/man/man$i/$(ls -1S /usr/share/man/man$i/ | head -n1); printf "%s: %9d\n" "$f" $(man "$f" 2>/dev/null | wc -l); done
Perintah ini akan menganalisis direktori man (1 hingga 8) dan menampilkan halaman manual terpanjang di setiap direktori dalam urutan menurun. Ini akan memakan waktu beberapa menit tergantung pada jumlah halaman manual di sistem Anda.
Berikut adalah output dari sistem Ubuntu 18.04 saya:
/usr/share/man/man1/ffmpeg-all.1.gz: 25468 /usr/share/man/man2/perf_event_open.2.gz: 1732 /usr/share/man/man3/Net::SSLeay.3pm.gz: 8738 /usr/share/man/man4/st.4.gz: 423 /usr/share/man/man5/proc.5.gz: 3087 /usr/share/man/man6/espdiff.6.gz: 50 /usr/share/man/man7/groff_mdoc.7.gz: 1826 /usr/share/man/man8/dnsmasq.8.gz: 1337
Temukan Halaman Man Terpanjang Di Linux dan Unix
Seperti yang Anda lihat, halaman manual terpanjang adalah ffmpeg-all dengan 25468 garis secara total.
Anda dapat memeriksanya dengan wc perintah seperti di bawah ini.
$ man ffmpeg-all | wc -l 25468
Jika Anda ingin menemukan pria terpanjang berdasarkan jumlah kata, bukan baris, jalankan:
for i in {1..8}; do f=/usr/share/man/man$i/$(ls -1S /usr/share/man/man$i/ | head -n1); printf "%s: %9d\n" "$f" $(man "$f" 2>/dev/null | wc -w); done
Contoh keluaran:
/usr/share/man/man1/ffmpeg-all.1.gz: 130475 /usr/share/man/man2/perf_event_open.2.gz: 11031 /usr/share/man/man3/Net::SSLeay.3pm.gz: 37886 /usr/share/man/man4/st.4.gz: 4358 /usr/share/man/man5/proc.5.gz: 22939 /usr/share/man/man6/espdiff.6.gz: 294 /usr/share/man/man7/groff_mdoc.7.gz: 11919 /usr/share/man/man8/dnsmasq.8.gz: 16875
Periksa apakah sudah benar menggunakan perintah:
$ man ffmpeg-all | wc -w 130475
Script sederhana untuk menemukan halaman manual terpanjang di Linux
Berikut adalah skrip BASH sederhana untuk menemukan halaman manual terpanjang di sistem Linux.
Buat file, misalnya longman.sh (singkatan dari longest man halaman):
$ nano longman.sh
Tambahkan baris berikut di dalamnya:
#!/usr/bin/env bash cd /usr/share/man/ for fn in $(find -maxdepth 1 -type d -iname 'man[1-8]'); do fn=${fn#./} ls -1Sp "$fn" | head -n 10 | sed -Ee "s,^,$PWD/$fn/," | while read manpage; do shortname=$(echo "$manpage" | sed -e "s,$PWD/man,," -e "s,/,"$'\t'",") printf '%9d\t%s\n' $(man "$manpage" 2>/dev/null | wc -l) "$shortname" done done | sort -n
Jika Anda ingin menghitung jumlah kata alih-alih baris, gunakan wc -w dalam skrip di atas. Script ini mengambil 10 teratas di setiap direktori man, mengkompilasi tabel dan mengurutkannya berdasarkan jumlah baris. Ini juga mengecualikan salah satu bagian bernomor 1-8 jika TIDAK ada di sistem Anda.
Simpan dan tutup file dan buat itu dapat dieksekusi menggunakan perintah:
$ chmod +x longman.sh
Sekarang, jalankan skrip ini untuk menemukan halaman manual terpanjang di sistem Anda:
$ ./longman.sh
Halaman manual terpanjang ditampilkan di bagian bawah. Jika Anda ingin menampilkan halaman manual terpanjang di atas, gunakan "sort -rn" pada skrip di atas.
Contoh keluaran:
[...] 14236 1 ffmpeg-filters.1.gz 15470 1 x86_64-linux-gnu-g++-7.1.gz 15470 1 x86_64-linux-gnu-gcc-7.1.gz 20579 1 ffplay-all.1.gz 20797 1 ffprobe-all.1.gz 24856 1 ffserver-all.1.gz 25468 1 ffmpeg-all.1.gz
Skrip Bash Untuk Menemukan Halaman Man Terpanjang Di Linux
Angka di tengah menunjukkan bagian halaman manual .
Untuk mengetahui detail lebih lanjut tentang halaman manual, jalankan:
$ man man
$ man -k man
$ info man
Bacaan yang disarankan:
- Cara menginstal Halaman Perintah yang Hilang di Ubuntu
- Cara Membuat Dan Memelihara Halaman Man Anda Sendiri
Semoga bermanfaat.