GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan Halaman Man Terpanjang Di Linux

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.


Linux
  1. Cara menggunakan FIND di Linux

  2. Cara menemukan File di Linux

  3. Bagaimana cara mengetahui apa yang dilakukan perintah Linux

  1. Cara Menemukan IP Gateway Default di Linux

  2. Bagaimana cara menambahkan entri di database halaman manual Linux

  3. Bagaimana cara membaca halaman manual Linux?

  1. Bagaimana menemukan alamat IP Anda di Linux

  2. Cara menemukan file di Linux

  3. Bagaimana menemukan alamat IP di Kali Linux