14天学习训练营导师课程:互联网老辛《 符合学习规律的超详细linux实战快速入门》
在命令行下使用 Linux 帮助信息 许多初学者安装完 Linux 操作系统后不知道从哪里入手学习 Linux,特别是感觉到没有帮助信息。Linux 发行版本对用户提供的技术支持时间比较短。其实在安装了一个完整的 Linux 系统后,其中已经包含了一个强大的帮助系统,只是可能用户还没有发现和使用它的技巧。下 面以 RHEL 5 为例,帮助读者深入挖掘隐藏在 Linux 系统中的帮助信息。
1.使用 help 命令获得 bash 的内部命令帮助
bash 的内部命令有 40 个,主要包括 exit、less、lp、kill、cd、pwd、fc、fg 等。bash 内置 的命令列表 A——通过在命令行输入 help 即可获得。这些内部命令没有独立的命令程序(即无 法搜索到这些命令)和帮助文件,help 命令提供这些命令的在线帮助。有趣的是,help 命令本 身也是内部命令。下面使用 help 命令获取它提供帮助命令的列表,如图所示。
缺图修改后添加
在这个示例中,由于 help 命令列表较长而不能在一页内全部显示,所以能看到的列表其实 是 help 命令列表的最后一页。与 MS-DOS 一样,要想看到该命令的所有帮助内容,需要在命 令后添加一个选项参数。可以在命令提示符下输入命令:
help |more
即可看到 help 命令列表的第一页,再次按 Enter 键将一行行向后翻页,按 Space 键将直接跳 转到最后一页。若想在中途退出帮助文档,可以按 Q 键,这样将直接退出文档,回到命令提 示符下。
使用 help 命令提供某命令的帮助方法非常简单,在 help 命令后输入空格和命令名称即可。
例如:
$ help kill
help 命令提供的 kill 命令参数很详细,当用户对 Linux 有一定了解后往往只需要主要的语 法,那么可以使用“-s”参数。
$ help -s kill kill: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
2. 使用 man 获取帮助信息
2.1 man 简介和使用
在文本窗口中浏览文件的方式在普遍使用 HTML 和 PDF 的时代似乎有些过时了,但在终 端窗口中阅读文件仍有其优势。对于那些 Linux 开发者来说,这种方式是可取的,因为大部分 工作是在终端窗口中完成的。从 man 页面上获取信息比打开浏览器或 PDF 浏览器要快得多。 man 页面具有简明的格式,这就意味着它采用线性格式来显示。简单的工具通过一个 man 页面 就可以获取,作为它们唯一的文件来源;较为复杂的工具和程序库依赖于合适的 man 页面作为 文档。创建 man 页面的工具可以选择更多的字符编码,例如 UTF-8,所以现在 man 页面可以 用任何语言来编写。
使用过 UNIX 的用户比较熟悉 man 手册页。man 是 manual(手册)的缩写,是在 Linux 系统中存储的一部联机使用的手册,以供用户在终端上查找。例如,如果使用 ps 命令时遇到 困难,可以输入 man ps 得到帮助信息,这时会显示出 ps 的手册页
缺图修改后添加
手册页 man 是用 less 程序来看的(可以方便地使屏幕上翻和下翻),所以在 man 页面中可 以使用 less 的所有选项。在 less 中比较重要的功能键有:[q]退出,[Enter]一行行地下翻,[Space] 一页页地下翻,[b]上翻一页,[/]后跟一个字符串,[Enter]查找字符串,[n]发现上一次查找的下 一个匹配。手册页(man page)在很小的空间里提供了大量的信息。大多数手册页中都有的部 分,即 Linux 手册页的主要部分有以下几个。
1:用户命令的使用方法、可以使用的参数等。 2:系统调用,只有系统才能执行的函数。 3:库调用,大多是 libc 函数,如 qsort(3)。 4:设备和特殊文件。 5:文件格式和约定。 6:游戏。 7:宏命令包和约定。 8:系统管理命令,多数只有 root 可以执行。 9:内核程序。 n:Tcl 或 Tk 指令。
man 手册页文件存放在/usr/share/man 目录下。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 地址
说明 在 Linux 系统中 man 存放在不同的 man 文件夹下,例如 man1、man2 等,每部分 都描述了相关工具的使用方法,最常用的是 man1(用户命令)、man5(文件格式)和 man8(系统管理)。有些情况下,不同工具的手册对应相同的名字。例如,在命令行 输入 man clear 可以查看 clear 程序的 man 页,而输入 man 3 clear 则可以查看 clear 子 程序的 man 页
2.2 汉化 man
可以下载相关软件包把手册页汉化,过程如下:
#wegt 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 变量的值。如果语言环境是 zh_CN.UTF-8,可以运行 make u8 && make install-u8;如果语言环境是 GB2312、GBK 或者 GB18030,可以运行 make gb && make install-gb; 或者可以下载对应的 rpm 包来安装,同样简单。对于 zh_CN.UTF-8,应当安装 man-pages-zh_ CN-1.x;对于 GB2312、GBK、GB18030,应当安装 man-pages-zh_CN-gb-1.x(请参阅讨论版上 关于不同发行版的系统与其默认中文编码的说明)。在安装 man-pages-zh_CN-gb-1.x 之后,应 当注销退出,在重新登录之后才能继续使用手册页系统;而在安装适于 UTF-8 语言环境的man-pages-zh_CN-1.x 之后,不必注销就可以使用。使用方法也有所不同,对于 GB*语言环境 的系统,应当使用 cman 命令来查看,例如“cman ls”;对于 UTF-8 语言环境的系统,只要使 用 man 命令就可以了。如图所示为 man 命令本身的汉化手册页。