认证目标3.04 本地在线文档
虽然在Red Hat考试期间无法访问Internet,但是考生可以使用RHEL 7系统已安装的大量在线帮助文档。这些文档从man页面开始,它提供了大多数命令和大多数配置文件的选项和参数,然后是info页面(相关信息页面)。有这样的帮助文档的命令和文件不太多,但是这种帮助文档提供了更详细的用法。
许多程序包也把详尽的帮助文档保存在/usr/share/doc目录中。可将ls命令应用于这个目录。这个目录中的每个子目录都包含了有关相应程序包功能的详细信息。
3.4.1 何时需要帮助文档
当我们想要了解某个命令的用法时,首先要做的通常是运行这个命令本身。如果此命令需要更多的信息,则它会请求用户输入,包括输入各种不同的选项。例如,仔细分析下面命令的输出信息:
$ yum
如果这种办法不起作用,则通常使用-h或--help开关选项会提供一些帮助信息。有时一个错误操作也可能提供帮助信息。下面这个命令的输出信息提示用户在cd命令中要使用合法的开关选项:
$ cd -h
bash: cd: -h: invalid option
cd: usage: cd [-L|[-P [-e]]] [dir]
有时-h开关选项会提供更有用的信息,不妨分析fdisk -h命令的输出信息。但是-h开关选项并不总是有效,有时--help开关选项可能更有帮助。图3-6就是一个示例,它显示了ls --help命令的输出结果。
图3-6 ls命令的帮助信息
3.4.2 各种man页面
很少有人能记住每个命令的每个开关选项,这正是命令文档是如此重要的原因。大多数Linux命令都在称为man页面格式的文档中有详细的说明。当我们执行man这个命令时,RHEL返回如下信息:
What manual page do you want?
例如,假如我们想要建立一个物理卷,却忘记了lvextend命令的相关开关选项。为了浏览该命令的man文档,执行man lvextend命令。正如其他命令一样,帮助文档中有EXAMPLES节,如图3-7所示。如果你以前曾执行过lvextend命令,则这一节的内容会唤起你的记忆!
图3-7 lvextend man页面的示例
大多数配置文件和命令都有这样的man页面,而且有的还不止这些。假如我们记不得帮助文档的名字怎么办?这时可使用whatis和apropos命令。例如,要找到标题中有nfs的man页面,可执行以下命令:
# whatis nfs
如果想找到描述中带有nfs的man页面,则下述命令可以找到相关的命令:
# apropos nfs
但如果我们安装了像httpd这样的服务(它与Apache Web服务器有关),则执行whatis httpd和apropos apachectl命令可能不会得到任何信息。这些命令作用于/var/ cache/man目录的数据库中。可用/etc/cron.daily目录中的man-db.cron作业更新这个数据库。由于这个脚本是可执行文件,因此下面的命令更新man页面的数据库:
# /etc/cron.daily/man-db.cron
假如考生在Red Hat考试中遇到这样一种情况:帮助文档还没安装,这可能有至少三个原因。相关的功能性程序包还没有安装。名为man-pages的RPM程序包也还没有安装。有时必须单独安装一个专门用于文档的程序包。例如,有一个名为system-config-users-doc程序包,它包含了一个有关用户管理器(User Manager)配置工具使用的GUI格式的帮助文档。另外有一个httpd-manual程序包,它是来自于Apache Web服务器的安装。
有时有多个帮助文档可以使用。仔细分析如下的输出信息,它是whatis smbpasswd命令的执行结果:
smbpasswd (5) - The Samba encrypted password file smbpasswd (8) - change a user's SMB password
数字(5)和数字(8)分别对应于man页面中的不同节。如果你对这些细节感兴趣,man man命令可以输出这些内容。默认显示的man页面是与smbpasswd命令关联的man页面。此时如果想要得到smbpasswd加密的口令文件的man页面,需要执行下面的命令:
$ man 5 smbpasswd
按下q键退出帮助文档。
3.4.3 info手册
可用的info手册非常有限。但是,info手册对一些主题(如bash shell)的说明通常比对应的man页面更加全面。执行ls /usr/share/info命令可以列出全部的info文档。当一个命令的info手册不可用时,默认自动转到相应的man页面。
为掌握更多bash shell的用法,执行pinfo bash命令。pinfo的用户界面与Lynx Web浏览器类似,相对于传统的info命令,pinfo对用户更加友好。正如图3-8所示,info手册由节组成,要访问某一节,用光标移动到带星号的行并按下回车键。
图3-8 info手册示例
要退出info页面,需要按下q键。
3.4.4 /usr/share/doc目录中的文档细节
当我们列出/usr/share/doc目录中的全部文档时,文档之多令人吃惊。但是,文档的质量取决于其设计者的工作。子目录包括安装程序包的名字和版本号。其中一些子目录只有一个文件,通常它以COPYING命名的,它包含了此软件发布的许可证。例如,大多数system-config-*程序包在相关的/usr/share/doc目录的COPYING文件中都有一个GNU GPL文件的副本。
有些文档目录包含有一些有用的示例。例如,sudo-*/子目录包含了系统管理控制用到的示例配置文件和指令,当我们要给系统管理员配置不同的权限时,这些文件和指令非常有用。
有时文档还包括HTML格式的全部文档文件。例如,看看pam-*/子目录,它包含了可插入验证模块(Pluggable Authentication Modules, PAM)的完整在线文档,这将在第10章讨论。