12.得到命令文档

知道了什么是命令,现在我们来寻找每一类命令的可得到的文档。

help - 得到 shell 内部命令的帮助文档

bash 有一个内建的帮助工具,可供每一个 shell 内部命令使用。输入“help”,接着是 shell 内部命令名。例如:

[me@linuxbox ~]$ help cd
cd: cd [-L|-P] [dir]
Change ...

注意表示法:出现在命令语法说明中的方括号,表示可选的项目。一个竖杠字符 表示互斥选项。在上面 cd 命令的例子中:

cd [-L|-P] [dir]

这种表示法说明,cd 命令可能有一个“-L”选项或者“-P”选项,进一步,可能有参数“dir”。

虽然 cd 命令的帮助文档很简洁准确,但它决不是教材。正如我们所看到的,它似乎提到了许多 我们还没有谈论到的东西!不要担心,我们会学到的。

--help - 显示用法信息

许多可执行程序支持一个 --help 选项,这个选项是显示命令所支持的语法和选项说明。例如:

[me@linuxbox ~]$ mkdir --help
Usage: mkdir [OPTION] DIRECTORY...
Create ...

一些程序不支持 --help 选项,但不管怎样试一下。这经常会导致输出错误信息,但同时能 揭示一样的命令用法信息。

man - 显示程序手册页

许多希望被命令行使用的可执行程序,提供了一个正式的文档,叫做手册或手册页(man page)。一个特殊的叫做 man 的分页程序,可用来浏览他们。它是这样使用的:

man program

“program”是要浏览的命令名。

手册文档的格式有点不同,一般地包含一个标题,命令语法的纲要,命令用途的说明, 和命令选项列表,及每个选项的说明。然而,通常手册文档并不包含实例,它打算 作为一本参考手册,而不是教材。作为一个例子,浏览一下 ls 命令的手册文档:

[me@linuxbox ~]$ man ls

在大多数 Linux 系统中,man 使用 less 工具来显示参考手册,所以当浏览文档时,你所熟悉的 less 命令都能有效。

man 所显示的参考手册,被分成几个章节,它们不仅仅包括用户命令,也包括系统管理员 命令,程序接口,文件格式等等。下表描绘了手册的布局:

表6-1: 手册页的组织形式

章节内容
1 用户命令
2 程序接口内核系统调用
3 C 库函数程序接口
4 特殊文件,比如说设备结点和驱动程序
5 文件格式
6 游戏娱乐,如屏幕保护程序
7 其他方面
8 系统管理员命令

有时候,我们需要查看参考手册的特定章节,从而找到我们需要的信息。 如果我们要查找一种文件格式,而同时它也是一个命令名时,这种情况尤其正确。 没有指定章节号,我们总是得到第一个匹配项,可能在第一章节。我们这样使用 man 命令, 来指定章节号:

man section search_term

例如:

[me@linuxbox ~]$ man 5 passwd

命令运行结果会显示文件 /etc/passwd 的文件格式说明手册。

apropos - 显示适当的命令

也有可能搜索参考手册列表,基于某个关键字的匹配项。虽然很粗糙但有时很有用。 下面是一个以”floppy”为关键词来搜索参考手册的例子:

[me@linuxbox ~]$ apropos floppy
create_floppy_devices (8)   - udev callout to create all possible
...

输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。注意,man 命令加上”-k”选项, 和 apropos 完成一样的功能。

whatis - 显示非常简洁的命令说明

whatis 程序显示匹配特定关键字的手册页的名字和一行命令说明:

最晦涩难懂的手册页

正如我们所看到的,Linux 和类 Unix 的系统提供的手册页,只是打算作为参考手册使用, 而不是教材。许多手册页都很难阅读,但是我认为由于阅读难度而能拿到特等奖的手册页应该是 bash 手册页。因为我正在为这本书做我的研究,所以我很仔细地浏览了整个 bash 手册,为的是确保我讲述了 大部分的 bash 主题。当把 bash 参考手册整个打印出来,其篇幅有八十多页且内容极其紧密, 但对于初学者来说,其结构安排毫无意义。

另一方面,bash 参考手册的内容非常简明精确,同时也非常完善。所以,如果你有胆量就查看一下, 并且期望有一天你能读懂它。

info - 显示程序 Info 条目

GNU 项目提供了一个命令程序手册页的替代物,称为”info”。info 内容可通过 info 阅读器 程序读取。info 页是超级链接形式的,和网页很相似。这有个例子:

File: coreutils.info,    Node: ls invocation,    Next: dir invocation,
 Up: Directory listing

10.1 `ls': List directory contents
==================================
...

info 程序读取 info 文件,info 文件是树型结构,分化为各个结点,每一个包含一个题目。 info 文件包含超级链接,它可以让你从一个结点跳到另一个结点。一个超级链接可通过 它开头的星号来辨别出来,把光标放在它上面并按下 enter 键,就可以激活它。

输入”info”,接着输入程序名称,启动 info。下表中的命令,当显示一个 info 页面时, 用来控制阅读器。

表 6-2: info 命令

命令行为
? 显示命令帮助
PgUp or Backspace 显示上一页
PgDn or Space 显示下一页
n 下一个 - 显示下一个结点
p 上一个 - 显示上一个结点
u Up - 显示当前所显示结点的父结点,通常是个菜单
Enter 激活光标位置下的超级链接
q 退出

到目前为止,我们所讨论的大多数命令行程序,属于 GNU 项目”coreutils”包,所以输入:

[me@linuxbox ~]$ info coreutils

将会显示一个包含超级链接的手册页,这些超级链接指向包含在 coreutils 包中的各个程序。

README 和其它程序文档

许多安装在你系统中的软件,都有自己的文档文件,这些文件位于/usr/share/doc 目录下。 这些文件大多数是以文本文件的形式存储的,可用 less 阅读器来浏览。一些文件是 HTML 格式, 可用网页浏览器来阅读。我们可能遇到许多以”.gz”结尾的文件。这表示 gzip 压缩程序 已经压缩了这些程序。gzip 软件包包括一个特殊的 less 版本,叫做 zless,zless 可以显示由 gzip 压缩的文本文件的内容。

原文地址:https://www.cnblogs.com/hihtml5/p/9273790.html