Chinaunix首页 | 论坛 | 博客
  • 博客访问: 733722
  • 博文数量: 235
  • 博客积分: 4309
  • 博客等级: 中校
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-17 11:25
个人简介

If you don\\\\\\\\\\\\\\\'t wanna do it, you find an EXCUSE; if you do, you\\\\\\\\\\\\\\\'ll find a WAY :-)

文章分类

全部博文(235)

文章存档

2014年(3)

2013年(2)

2012年(31)

2011年(199)

分类: LINUX

2011-01-17 21:29:36

Linux系统最佳实践工具:命令行技术: 
Linux服务器安全策略详解(第二版): 

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

列出程序遵循的任何标难,比如PoSIXISO

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函数,如qsort3

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命令本身的汉化手册页

 

阅读(700) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~