在以前,手册页存储库曾经放在 /usr/man。最近,存储位置已经改为 /usr/share/man,但是具体位置因 UNIX 版本而异。另外,软件包经常把它的手册页放在自己的根目录的子目录中。例如,MySQL 数据库引擎的一些版本把手册页存储在 /usr/local/mysql/man 中。这些策略都是允许的,但是,如果手册页分散在许多存储库中,就需要一些额外的配置。
无论它的位置在哪里,每个存储库都划分为一个或多个部分。每个部分实现为一个独立的子目录。每个部分按惯例命名为 man1、man2 直到 man8,分别包含一类命令的手册页。表 1 列出部分名及其内容。
部分 | 内容 |
---|---|
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 | 系统管理命令,超级用户很可能要使用它们。 |
在某些情况下,不同部分中的组件可能名称相同。这种现象很常见,尤其是在一个软件包有多个部分的情况下。例如,第一部分中有 crontab
命令,它提交要调度的作业。同时,第五部分中有 crontab 文件格式,它描述要运行的作业。
为了区分不同部分中的同名组件,应该在第一个参数中提供部分号:
$ man 1 crontab$ man 5 crontab |
前一个命令显示 crontab 命令的手册页;后一个命令显示 crontab 文件格式。如果一个软件在多个部分中存在,而您没有指定部分号,man
就会显示在编号最低的部分中找到的匹配。
联系客服