man 的分页
通常情况下,UNIX 系统上的所有软件(包括每个命令行实用程序、每个系统调用、编程
库中每个可调用的函数和每种文件格式)都包含一个手册页。实际上,在构建新软件时编写并提供手册页被认为是一种必要的“礼节”。
在以前,手册页存储库曾经放在/usr/man。最近,存储位置已经改为/usr/share/man,但是具体位置因UNIX 版本而异。另外,软件包经常把它的手册页放在自己的根目录的子目录中。例如,MySQL 数据库引擎的一些版本把手册页存储在/usr/local/mysql/man 中。这些策略都是允许的,但是,如果手册页分散在许多存储库中,就需要一些额外的配置。如下图所示,是打开man 文档之后的截图,红色箭头指的man 后面有个(1)。
无论它的位置在哪里,每个存储库都划分为一个或多个部分。每个部分实现为一个独立的子目录。每个部分按惯例命名为man1、man2 直到man8,分别包含一类命令的手册页。
表1 列出部分名及其内容。
man 手册分页的标准内容。
man1 | 一般命令。这个部分中的命令通常不需要超级用户(即管理员)特权。ls、cat 和passwd 放在这里,还有shell。例如,请试试man bash。 |
man2 | 用来访问UNIX 内核提供的服务的系统调用或函数。例如fork 系统,它从一个现有的进程生成一个新进程。输入man fork 显示它的手册页。使用系统软件的程序员常常参考这个部分。 |
man3 | C 库函数。许多软件包提供功能丰富的代码库,让开发人员可以创建新软件来补充现有的特性或开发全新的特性。每个库通常有一个手册页;一些库(比如系统的libc)太大了,所以各个函数或一组相关函数有单独的文档。 |
man4 | 特殊文件,比如设备和驱动程序。 |
man5 | 文件格式。UNIX 几乎完全使用文本配置文件定制系统的操作。有大量配置文件,包括网络服务的列表(/etc/services) 和可用的shell 列表(/etc/shells) 等等。 |
man6 | 游戏和屏幕保护程序。 |
man7 | 杂类文件。这是一个包罗万象的类别。在传统的系统上,可以了解glob 操作符、正则表达式等方面的信息。 |
man8 | 系统管理命令,超级用户很可能要使用它们。 |
上面的8 种man 命令,通常使用的man1、man2 和man3 比较多,而且并不是所有的都有上面八种文档,有的只有一种,或者两种文档。