如何在 Linux 中找到最长的手册页

所有命令’ 手册页 存储在 /usr/share/man/ Linux 中的目录。 手册页被压缩在 压缩包 (.gz) 格式。 想知道哪个命令在您的 Linux 系统上的手册页最大? 这里最大的意思是,我说的是手册页中的行数。 这与打印时的文件大小或页数无关。 如果您想知道如何在 Linux 和 Unix 发行版中找到最长的手册页,请按照此处给出的任何一种方法进行操作。

在 Linux 中查找最长的手册页

我们可以通过计算其中的行数和单词数来找到最大和最长的手册页。 这 厕所 命令用于计算文件中的行数和单词数。 例如,要计算中的行数 ls 命令的手册页,运行:

$ man ls | wc -l

同样,要计算 ls 手册页中的单词数,请使用 -w 标志如下。

$ man ls | wc -w

在 linux 的手册页中查找行数和单词数

但是,计算每个手册页中的行数既乏味又耗时,而且找出整个系统中最长的手册页可能是一个愚蠢的想法。 我们可以使用 for循环 像下面。

for i in {1..8}; do f=/usr/share/man/man$i/$(ls -1S /usr/share/man/man$i/ | head -n1); printf "%s: %9dn" "$f" $(man "$f" 2>/dev/null | wc -l); done

此命令将分析 man 目录(1 到 8)并按降序显示每个目录中最长的手册页。 这将需要几分钟时间,具体取决于您系统中的手册页数量。

这是我的 Ubuntu 18.04 系统的输出:

/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