阅读man page
目标
完成本节内容后,你可以在本地Linux系统手册页面中找到相关帮助信息。
介绍man命令
一般来说,本地系统中的一个文档来源是系统手册页或man页,这些页面是作为提供文档的软件包的一部分提供的,可以通过man命令从命令行访问。
历史上的《Linux程序员手册》,来源于此,它的篇幅足够大,可以形成许多章节。每个章节都包含了关于特定主题的信息。
Linux 手册的常用章节
章节 | 内容 |
---|---|
1 | 用户命令(包括可执行程序和shell程序) |
2 | 系统调用(从用户空间调用的内核例程) |
3 | 库函数(由项目库提供) |
4 | 特殊文件(如设备文件) |
5 | 文件格式(用于许多配置文件和结构) |
6 | 游戏(娱乐程序的历史部分) |
7 | 公约、标准和杂项(协议、文件系统) |
8 | 系统管理和特权命令(维护任务) |
9 | Linux内核API(内部内核调用) |
为了区分不同章节中相同的主题名称,man page的引用包括在主题后的括号中加入章节号。例如,passwd(1) 描述了更改密码的命令,而passwd(5) 则解释了用于存储本地用户账户的 /etc/passwd 文件格式。要阅读特定的man page,请使用man topic。内容会在一个屏幕上显示。man 命令以字母数字顺序搜索手册章节。例如,man passwd 默认显示的是 passwd(1)。要显示特定章节中的man页主题,请包含章节号参数: man 5 passwd 显示passwd(5)。
要阅读特定的man page,请使用man topic。内容会在一个屏幕上显示。man 命令以字母数字顺序搜索手册章节。例如,man passwd 默认显示的是 passwd(1)。要显示特定章节中的man页主题,请包含章节号参数: man 5 passwd 显示passwd(5)。
浏览和搜索man page
高效搜索内容和浏览man page的能力是一项重要的管理技能。GUI工具可以很容易地配置常见的系统资源,但使用命令行界面仍然更有效率。为了有效地浏览命令行,您必须能够在man page中找到您需要的信息。
下表列出了查看man page时的基本导航命令:
man page导航
命令 | 作用 |
---|---|
Spacebar | 向前(向下)滚动一屏 |
PageDown | 向前(向下)滚动一屏 |
PageUp | 向后(向上)滚动一屏 |
DownArrow | 向前(向下)滚动一行 |
UpArrow | 向后(向上)滚动一行 |
D | 向前(向下)滚动一个半屏 |
U | 向后(向上)滚动一个半屏 |
/string | 在man page中搜索字符串的前向(向下)搜索 |
N | 在man page中重复之前的搜索前进(向下)。 |
Shift+N | 在man page中向后(向上)重复之前的搜索。 |
G | 转到man page的开头。 |
Shift+G | 转到man page的最后。 |
Q | 退出man,返回命令shell提示符 |
阅读man page
每个专题分为几个部分。大多数专题都有相同的标题,并按相同的顺序排列。通常情况下,一个专题并不包含所有标题,因为并非所有标题都适用于所有专题。
常见的标题有:
标题 | 描述 |
---|---|
NAME | 主题名称。通常是命令或文件名。非常简短的描述。 |
SYNOPSIS | 命令语法的总结。 |
DESCRIPTION | 深入描述,对题目有基本的理解。 |
OPTIONS | 指令执行选项的说明。 |
EXAMPLES | 如何使用命令、函数或文件的例子。 |
FILES | 与man page相关的文件和目录列表。 |
SEE ALSO | 相关信息,一般是其他的man page主题。 |
BUGS | 软件中已知的BUG。 |
AUTHOR | 作者 |
按关键字搜索man page
用man -k 关键字对男人页进行关键字搜索,会显示出与关键字相匹配的man page主题列表,并列出章节号。
[student@desktopX ~]$ man -k passwd
checkPasswdAccess (3) - query the SELinux policy database in the kernel.
chpasswd (8) - update passwords in batch mode
ckpasswd (8) - nnrpd password authenticator
fgetpwent_r (3) - get passwd file entry reentrantly
getpwent_r (3) - get passwd file entry reentrantly
...
passwd (1) - update user's authentication tokens
sslpasswd (1ssl) - compute password hashes
passwd (5) - password file
passwd.nntp (5) - Passwords for connecting to remote NNTP servers
passwd2des (3) - RFS password encryption
...
常用的系统管理主题在第1节(用户命令)、第5节(文件格式)和第8节(管理员命令)。使用某些故障排除工具的管理员也会使用第2部分(系统调用)。其余部分一般是供程序员参考或高级管理员使用。
阅读信息文档
目标
完成本节内容后,你能够在GNU Info中找到本地文档中的信息。
介绍GNU INFO
Man页面的格式可以作为命令参考,但作为一般的文档就不那么有用了。对于这些文档,GNU 项目开发了一个不同的在线文档系统,叫做 GNU Info。Info 文档是 Red Hat Enterprise Linux 系统中的重要资源,因为许多基本的组件和实用程序,如 coreutils 包和 glibc 标准库,都是由 GNU 项目开发的,或者是利用 Info 文档系统。
你可能会想,为什么会有两个本地文档系统,即man页和Info文档。究其原因,有些是实际的,有些则与Linux及其应用多年来在各个开源社区的发展方式有关。
Man pages有一种更正式的格式,通常记录了软件包中的特定命令或功能,并以单个文本文件的形式结构化。info文档通常涵盖了特定的软件包,往往有更多关于如何使用该软件的实际例子,并以超文本文档的形式结构化。
你应该熟悉这两个系统,以便最大限度地利用系统提供给你的信息。
阅读info文档
要启动 Info 文档查看器,请使用 pinfo 命令,在顶部目录下打开 pinfo。
info文档是全面和超链接的。可以将信息页输出为多种格式。相比之下,man页是针对打印输出进行了优化。Info格式比man页更灵活,可以对复杂的命令和概念进行彻底的讨论。和man页一样,Info节点也可以通过命令行读取,使用pinfo命令。
一个典型的man page有少量的内容,集中在一个特定的主题、命令、工具或文件上。Info文档是一个综合性的文档。Info提供了以下改进:
- 一个大型系统的单一文件,包含该系统的所有必要信息。
- 超链接
- 一个完整的可浏览的文件索引
- 对整个文件进行全文检索
有些命令和实用程序有man page和info文档;通常情况下,info文档更深入。比较一下使用man和pinfo的tar文档的区别:
[user@host ~]$ man tar
[user@host ~]$ pinfo tar
gnu info和man page的比较
pinfo命令和man命令使用的导航按键略有不同。下表比较了两个命令的操作:
操作 | PINFO | MAN |
---|---|---|
向前(向下)滚动一屏 | PageDown or Space | PageDown or Space |
向后(向上)滚动一屏 | PageUp or b | PageUp or b |
显示主题目录 | D | - |
向前(向下)滚动一个半屏 | - | D |
显示一个主题的父节点 | U | - |
显示一个主题的顶部(上) | HOME | G |
向后(向上)滚动一个半屏 | - | U |
向前(向下)滚动到下一个超链接 | DownArrow | - |
在光标位置打开话题 | Enter | - |
向前(向下)滚动一行或位置 | - | DownArrow or Enter |
向后(向上)滚动到上一个超链接 | UpArrow | - |
向后滚动(向上滚动)1行超链接 | - | UpArrow |
搜索模式 | /string | /string |
主题中显示下一个节点(章节) | N | - |
重复上一次的搜索,向前(向下)搜索 | / then Enter | n |
在主题中显示上一个节点(章节) | P | - |
重复之前的搜索,向后(向上) | - | ShiftN |
退出程序 | Q | Q |
总结
- Man page是用man命令查看的,它提供了Linux系统的组件信息,如文件、命令和功能等。
- 按照惯例,在提到 Man page时,在括号内的页名后面是该页的节号。
- info文档是用pinfo命令查看的,由超文本节点的集合组成,提供了关于软件包的整体信息。
- man和pinfo使用的导航按键略有不同。