Linux 系统上的手册页可以做的不仅仅是提供特定命令的信息。它们可以帮助你发现你没有意识到的命令。
手册页提供了关于 Linux 命令的基本信息,很多用户经常参考它,但手册页的内容比我们很多人意识到的要多得多。
你总是可以输入一个像 man who 这样的命令,然后得到 who 命令的工作原理的漂亮描述,但是探索你可能不知道的命令可能会更有启发。例如,你可以使用 man 命令来帮助找到一些处理非常具有挑战性的任务的命令,或者显示一些选项,这些选项可以帮助你以新的更好的方式使用你已经知道的命令。
让我们来浏览一些选项,看看最终的结果是什么。
用 man 去识别命令
man 命令可以帮助你按主题查找命令。例如,如果你要找一个计算文件中的行数的命令,你可以提供一个关键字。在下面的例子中,我们把关键字 “count” 放在了引号中,并添加了空格,这样我们就不会得到与 “accounts” 或 “accounting” 相关的命令,而是得到那些可以为我们做一些计算的命令。
1 2 3 4 5
$ man -k ' count ' anvil (8postfix) - Postfix session count and request rate control cksum (1) - checksum and count thebytesinafile sum (1) - checksum and count the blocks inafile timer_getoverrun (2) - get overrun count fora POSIX per-process timer
为了显示与新用户账户相关的命令,我们可以尝试使用这样的命令。
1 2 3 4
$ man -k "new user" newusers (8) - updateandcreatenew users in batch useradd (8) - create a newuserorupdatedefaultnewuser information zshroadmap (1) - informal introduction to the zsh manual The Zsh Manual, …
探索命令的更好策略是按分区列出命令,不查看文件本身,而是使用 man 命令向你显示命令并提供每个命令的简要说明。
在下面的命令中,-s 1 指示 man 显示第 1 分区中的命令信息。-k . 使该命令对所有命令都有效,而不是指定一个特定的关键字;如果没有这个,man 命令就会回过头来问:“你想要什么手册页?”所以,使用关键字来选择一组相关的命令,或者使用点来显示一个分区中的所有命令。
1 2 3 4 5 6 7 8 9 10 11
$ man -s 1 -k . 2to3-2.7 (1) - Python2 to Python3 converter 411toppm (1) - convert Sony Mavica .411 image to ppm as (1) - the portable GNU assembler. baobab (1) - A graphical tool to analyze disk usage busybox (1) - The Swiss Army Knife of Embedded Linux cmatrix (1) - simulates the display from"The Matrix" expect_dislocate (1) - disconnect and reconnect processes red (1) - line-oriented text editor enchant (1) - a spellchecker …
有多少手册页?
如果你对每个分区中有多少手册页感到好奇,可以使用以下命令按分区对它们进行计数:
1 2 3 4 5 6 7 8 9 10 11 12
$ for num in {1..8} > do > man -s $num -k . | wc -l > done 2382 493 2935 53 441 11 245 919
确切的数量可能有所不同,但是大多数 Linux 系统的命令数量差不多。如果我们使用命令将这些数字加在一起,我们可以看到运行该命令的系统上有将近 7500 个手册页。有很多命令,系统调用等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
$ for num in {1..8} > do > num=`man -s $num -k . | wc -l` > tot=`expr$num + $tot` > echo$tot > done 2382 2875 5810 5863 6304 6315 6560 7479 <=== total