3.5 读取命令的特定man page

man [1-8]

你可能注意到,在前面列出的ls命令的man page的第一行引用了LS(1);再往前,当使用-k选项时,所有命令的名称后面都跟一个用括号括起来的数字。其中大部分数字是1,但是lsof命令后的数字是8。为什么会出现这些数字呢?

答案在于man page按照其类型分成了不同的区段(section),分别标记为数字1到8,划分的各区段如下所示(如果你不理解例子中的某些区段,不必担心,因为很多区段本来就相当神秘和特殊)。

  • 普通命令,如cdchmodlpmkdirpasswd

  • 由内核提供的底层系统调用,如introchmod

  • C库函数,如beepHTML::ParserMail::Internet

  • 特殊文件,如/dev中找到的设备,包括控制台(console)、打印机(lp)和鼠标(mouse)。

  • 文件格式和约定,如apt.confdpkg.cfghostspasswd

  • 游戏,如atlantikbouncingcowkmahjonggrubik

  • 杂项,包括宏包(macro package)。如asciisambautf-8

  • root用户使用的系统管理命令,如mountshutdown

到目前为止,本书中出现的命令几乎都属于第1区段,这并不让人觉得奇怪,因为我们关注的是Linux系统的普通应用。但是注意,有些命令会同时属于多个区段:例如,chmod同时属于第1区段和第2区段,而passwd则同时属于第1区段和第5区段。在默认情况下,如果在shell中输入man passwdman命令默认打开序号较小的区段页面,所以你将得到passwd的第1区段的man page。如果你想学习passwd文件的更多内容,第1区段的内容不一定很有帮助。要查看passwd文件的man page,需要为man命令提供你想查看的数据所属于的区段序号。

  1. $ man passwd
  2. PASSWD(1) PASSWD(1)
  3. NAME
  4. passwd - change user password
  5. SYNOPSIS
  6. passwd [-f|-s] [name]
  7. passwd [-g] [-r|-R] group
  8. passwd [-x max] [-n min] [-w warn] [-i inact]
  9. login
  10. passwd {-l|-u|-d|-S|-e} login
  11. DESCRIPTION
  12. passwd changes passwords for user and group
  13. accounts. A normal user...
  14. [Listing condensed due to length]
  15. $ man 5 passwd
  16. PASSWD(5) PASSWD(5)
  17. NAME
  18. passwd - The password file
  19. DESCRIPTION
  20. passwd contains various pieces of information for
  21. each user account.
  22. [Listing condensed due to length]