Linux认证:深度挖掘Linux操作系统命令“man”Linux认证考试
文章作者 100test 发表时间 2009:04:09 22:43:27
来源 100Test.Com百考试题网
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 |
内核程序 |
man(2)
给出了man命令本身的手册页。使用man man命令就可以显示这些信息。
可以下载相关软件包把手册页汉化,过程如下:
#wegt linuxforum.net/cmpp/man-pages-zh_CN-1.5.tar.gz">.http://download.sf.linuxforum.net/cmpp/man-pages-zh_CN-1.5.tar.gz
#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命令本身的汉化手册页。