2019年7月7日 星期日

Unix手册组织方式和在man命令中指定节号

1. Unix手册的组织方式
最好把Unix联机手册想象成一个存在于Unix系统中的庞大参考书。这本书就像一个百科全书,其中包含许多条目,各个条目按照字母顺序排列,并且每个条目都涵盖一个单独的主题。这就是Unix手册的组织方式。
这本书无法翻页,因此,这本书没有页号,也没有正式的目录表或者索引。但是,该书采用适合电子书的组织形式,分成了若干个层次。
传统上,整个手册分成8节,编号从1至8。这些经典的类别如下表所示。各个系统之间,实际名称可能有所不同,但是,在很大程度上,所有的Unix系统都倾向于遵循相同的组织原则。尽管您的系统上手册可能有点不同,但是应当很接近下表,因此,当阅读下述讨论时,您应该能够理解。
1. 命令
2. 系统调用
3. 库函数
4. 特殊文件
5. 文件格式
6. 游戏
7. 杂项信息
8. 系统管理

Unix手册中最重要的部分就是第1节。该部分包含大量Unix命令的说明页。实际上,除非您是一名程序员或者管理员,否则您或许只需了解手册的这一部分内容。
如果您是一名程序员,那么您也会对第2节和第3节感兴趣。第2节包含系统调用的说明书页,系统调用在程序中使用,用来请求内核执行一个特定的动作。第3节包含库函数的文档,库函数有时候称为子例程。这些是标准化的工具,不直接涉及内核,用来在程序中执行特定的任务。
第4节论特殊文件,即一种通常表示物理设备的文件。这一部分还包含设备驱动程序(充当设备接口的程序)的信息。本部分内容主要由程序员使用。
第5节描述系统使用的重要文件格式,包括配置文件。这一部分主要由程序员和系统管理员使用。
第6节提供系统中所安装游戏的说明书页。以前,主要是基于文本的游戏和娱乐活动,用户从命令行上使用。一个典型的例子就是前面讨论的Rogue游戏。那个时代,第6节是手册的重要部分。现在,大多数系统已经删除了基于文本的游戏,因此大多数情况下,手册的这一部分是空的。可以肯定的是,系统中现在有许多基于GUI的游戏,但是正如本章开头所述,这样的程序都提供了内置的帮助,因它们不再需要说明页。
这并不是说已经不再有基于文本的Unix游戏了。基于文本们Unix游戏还有很多,而且还有许多奇妙的娱乐活动,如果您想安装的话,就可以在自己的系统上安装。如果使用的是共享系统,而且系统管理员没有安装游戏(或者系统管理员将游戏删除了的)话,那么手册的第6节就有可能是空的。这是因为大多数系统管理员不希望用户由于能够阅读游戏地说明却不能玩游戏(就像站在毗斯迦山上的摩两眺望上帝赐给亚伯拉罕的迦南地方一样)而抱怨他。
第7节是杂项信息,包含各种混杂信息。第7节的内容根据系统的不同儿内容差别很大。因此除了下面一点——像其他大多数部分一样,本部分主要针对程序员和系统管理员之外,就不多说了。
最后,第8节包含系统管理员用来执行工作所使用的所有特殊命令的说明书页,这一部分中的命令是只能由超级用户使用的命令(有关系统管理和超级用户的讨论可以参照前面内容)
如果使用的是共享系统,那么您可能不用关心Unix手册的第8节,这是因为有其他人进行系统管理工作。但是,如果在自己的计算机上运行Unix,那么您就是系统管理员。有时候您需要使用本部分的一些命令。


提示:
除第1节(命令)和第6节(游戏)之外,Unix手册中的大部分内容,只有程序员和系统管理员才感兴趣。
Unix手册组成这8个特定节的思想起源于最早的Unix实现,而且多年过去之后,它在很大程度上保持着原样。但是,现代的手册要比它们值得尊敬的祖先包含更多的资料。因此,在您的系统上,您可能看到不同的、更加复杂的部分,或许还拥有不同的名称。
每一节又被划分为几个小节。例如,在一些Linux系统上,在第3节(库函数)中,就有以下几节:第3c节是标准的C函数:第3f节是Fortran函数;第3m节是数学函数,第3s节是标准I/O函数;而第3x节则是特殊函数。



2. 在man 命令中指定节号
到目前为止,我们已经知道了如何通过键入man,后面跟着命令的名称来使用Unix手册。例如,为了学习kill命令(该命令用于停止失控的程序),可以输入:

man kill
这个命令将显示手册第1节中kill的说明书页。
但是手册第2节中也有一个kill条目。如果真正需要的是这个,可以在命令名的前面指定节号:

man 2 kill
该命令告诉Unix您只对手册一个特定节中的内容感兴趣。如果使用的是一种派生于System V的Unix系统,那么命令的形式有点不同:必须在节号前键入-s。例如,Solaris就是这种情况。

man –s 2 kill
如果节有划分为小节,那么也可以明确指定自己希望的小节号。
例如,在一些系统上,第3f节(手册中记录Fortun子历程的那一部分)中有一个kill命令的条目。为了显示该说明书页,可以输入:

man 3f kill

正如前面所述,您可以同时查看手册的多个部分。例如,如果希望查看kill的全部3个条目,可以输入:

man 1 kill 2 kill 3kill

当没有指定节号时,Unix从手册的开头(第一节)开始,一直向后寻找,知道找到第一个匹配,因此,下面两条命令拥有相同的结果。

man kill
man 1 kill


提示:
大多数时候,您只对手册的第一节(命令)感兴趣,因此指定节号并不必要。当徐兆与编程(第23,4,5,7节)或者系统管理(第4,7,8节)相关的信息是,才需要使用节号。

为了使您熟悉手册的各种不同部分,每个节和小节都包含一个成为intro的页面,该页面充当一个简介。一种熟习本节内容的方法就是阅读它的intro页。
下面举一些显示这类页面的命令示例:

man intro
man 1 intro
man 1c intro
man 6 intro

众所周知,在默认情况下man假定您希望参考第1节,因此前两个例子是等价的。

提示:
如果您是一名初学者,那么最好使用下述两个命令来学习联机手册:

man intro
man man




沒有留言:

張貼留言