B.1.2 man(1)
在文本窗口中浏览文件的方式在普遍使用HTML和PDF的时代中似乎有些过时了,但在终端窗口中阅读文件仍有其优势。对于那些Linux开发者来说,这种方式是可取的,因为大部分工作是在终端窗口中完成的。从man页面上获取信息比打开浏览器或PDF浏览器要快得多。当想要很快地获得答案时,可以使用man页面。
man页面具有简明的格式,这就意味着它采用线性格式来显示。简单的工具通过一个man页面就可以获取,作为它们唯一的文件来源;较为复杂的工具和程序库依赖于合适的man页面作为文档。Perl甚至创建了它自己的帮助指南,包含上百页关于Perl的文档。以前man页面受到ASCII(或ISO-8859)字符的限制,只局限于使用它们的语言进行编写。用于显示的文本终端是产生这些限制的主要原因。以前文本终端只能处理7个或8个字节的字符编码,而且内存容量也规定了可用字体的数量。这些哑元(dumb)终端在过去影响很大。基于GUI的终端(如xterm)可以处理许多字体和未发行的字符编码。创建man页面的工具可以选择更多的字符编码,例如UTF-8,所以现在man页面可以用任何语言来编写。
man可以在不同的版本中使用,主要分为两类。Red Hat和许多其他基于RPM的版本使用传统的man程序,而基于Debian的版本使用一个名为man-db的软件包。这两种分类方法的不同主要在于对man页使用索引还是使用分类的数据库。使用man-db的方法优于传统的man页数据库,但在大多数情况下使用两种工具的结果相同。使用过UNIX的用户比较熟悉man手册页。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。man是manual(手册)的缩写,使用man这个命令可以调阅其中的帮助信息,非常方便和实用。在有输入命令有困难时,可以立刻得到这个文档。例如,如果使用ps命令时遇到困难,可以输入man ps得到帮助信息,会显示出ps的手册页。
由于手册页man page是用less程序来看的(可以方便地使屏幕上翻和下翻),所以在man page里可以使用less的所有选项。在less中比较重要的功能键有:[q]退出;[Enter]一行行地下翻;[Space]一页页地下翻;[b]上翻一页;[/]后跟一个字符串和[Enter]来查找字符串;[n]发现上一次查找的下一个匹配。手册页man page在很少的空间里提供了很多的信息。大多数手册页中都有的部分:Linux手册页主要有9个部分:
1.用户命令(env、ls、echo、mkdir、tty)
2.系统调用或内核函数(link、sethostname、mkdir)
3.库程序(acosh、asctime、btree、locale、XML::Parser)
4.与设备有关的信息(isdn_audio、mouse、tty、zero)
5.文件格式描述(keymaps、motd、wvdial.conf)
6.游戏(注意很多游戏现在都是图形化的,除了手册页系统之外,还都有图形化的帮助信息)
7.其他(arp、boot、regex、unix utf8)
8.系统管理(debugfs、fdisk、fsck、mount、renice、rpm)
9.内核
man手册页文件存放在/usr/share/man目录下,文件格式是".gz"压缩格式。命名规则是:"手册名称。手册类型.gz"。Linux手册页布局如表B-1所示。
表B-1 Linux手册页面的内容
手册页内容 | 描 述 |
NAME | 程序或者命令的名称、手册节号及发布日期 |
SYNOPSIS | 怎样调用命令,带有所有选项和参数的完整列表 |
DESCRIPTl0N | 命令及其用法的简短小结 |
RETURN VALUES | 程序或者库函数返回值,以及产生特定返回值的环境 |
EXIT STATUS | 经常用来替代服TURNVALUS |
OPTIONS | 按字母顺序排列的选项和参数清单,如果有的话 |
FILES | 命令使用的或者能使用的文件清单 |
USAGE | 用程序的语言说明的简明语法,如果有的话 |
ENVIROMENT | 命令使用的或者能使用的环境变量清单 |
DIAGNOSTICS | 命令产生的错误信息及其解决办法的清单 |
续表
手册页内容 | 描 述 |
NOTES | 不能够归入其他任何一种类别下的所有信息 |
CONFORMING TO | 列出程序遵循的任何标难,比如PoSIX或ISO |
SEE ALSO | 和命令有关的交叉索引和信息 |
BUGS | 指出己知的bug和错误功能,以及怎样和程序的作者联系修正它们 |
AUTHOR | 命令的作者或者维护者的名字,可能带有电子邮件地址或URL地址 |
man的使用方法:使用命令"man [N] passwd"其中N(1-9,n)参数指定手册页的类型。这是因为存在有同名的手册页。如"man 1 passwd"和"man 5 passwd"显示的手册页内容是不同的。表B-2是UNIX手册页面的"标准"划分。
表B-2 标准Linux手册页面上面以help命令把自己作为参数来获得自己的帮助。使用help命令提供某命令的帮助方法非常简单,在help命令后空格输入命令名称即可。
部 分 | 描 述 |
1 | 用户命令的使用方法,可以使用的参数等 |
2 | 系统调用只有系统才能执行的函数 |
3 | 库调用大多是libc函数,如qsort(3) |
4 | 设备和特殊文件 |
5 | 文件格式和约定,比如/etc/passwd及其他可读文件 |
6 | 游戏 |
7 | 宏命令包和约定 |
8 | 系统管理命令,多数只有root可以执行 |
9 | 内核程序 |
B.1.2 man(2)
图B-1给出了man命令本身的手册页。使用man man命令就可以显示这些信息。
|
(点击查看大图)图B-1 给出了手册页中的一些典型内容 |
可以下载相关软件包把手册页汉化,过程如下:
#wegt #gunzip man-pages-zh_CN-1.5.tar.gz #tar vxf man-pages-zh_CN-1.5.tar #cd man-pages-zh_CN-1.5 |
安装之前,运行locale命令来查看自己的语言环境是什么,主要有影响的是LC_ALL,LC_CTYPE和LANG变量的值。命令如下:
# locale LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL= |
如果语言环境是zh_CN.UTF-8,可以运行make u8 && make install-u8;如果语言环境是GB2312,GBK或者GB18030,可以运行make gb && make install-gb;这里笔者的应用环境是zh_CN.UTF-8,运行make u8 && make install-u8即可汉化man手册页。图B-2给出了man命令本身的汉化手册页。
|
(点击查看大图)图B-2 man命令本身的汉化手册页
|