|
如果您正在寻找关于命令和出错信息, 最好的地方就在您的系统中. 在您的指尖有几种不同的资源:
- Man Pages -- 命令, 文件格式, 和系统调用的参考资料.
- 包文档 -- 许多包都有附加的文档; RPM能帮助您找到它.
- HOWTO和FAQ -- 从Linux文档计划中得到的帮助信息.
- locate命令 -- 一个用来联系命令和它的文档的命令.
- info页 -- 超文本文件(不是HTML文件).
让我们依次看一下每种资源.
您的系统上几乎每条命令都有相关的'man page'. 在您有问题或困难时, 您可以立刻得到这个文档. 例如, 如果您使用ls命令时遇到困难,
您可以输入man ls得到帮助信息. 这会显示出ls的man page.
由于man page是用less程序来看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有选项.
在less中比较重要的键有:
- [q]退出
- [Enter]一行行地下翻
- [Space]一页页地下翻
- [b]上翻一页
- [/]后跟一个字符串和[Enter]来查找字符串
- [n]发现上一次查找的下一个匹配
有时从纸张阅读更方便. 假定您有一个打印机, 您也可以把man page打印出来.如果您没有打印Postscript的能力, 只想打印ASCII码,
您可以用:
man COMMAND | lpr
如果您有postscript打印机, 您可以用:
man -t COMMAND | lpr
请把上面的'COMMAND'改为您想要得到帮助的命令.
有时您将发现某些系统部件有不止一个man page. 下表显示了man page分成的节:
| Section |
Contents |
| 1 |
user commands |
| 8 |
system commands |
| 2 |
system calls |
| 3 |
library calls |
| 4 |
devices |
| 5 |
file formats |
| 6 |
games |
| 7 |
miscellaneous |
| 9 |
kernel internals |
| n |
Tcl/Tk commands |
| |
这也是节被查找的顺序. 这个顺序有时很重要, 例如:
假定我们要看系统调用swapon的man
page. 因此, 您输入man swapon. 实际上您会看到swapon(8)的man page,
那是用来控制交换的命令. 从上表您可以看出您要的'系统调用'在第2节. 你可以输入man 2 swapon. 这都是因为 man是以上述的顺序来查找的,
也就是说swapon(8)在swapon(2) 之前.
您还可以在man page中查找字符串, 使用man -k string_to_search_for.
但是只有创建了makewhatis数据库, 才能使用上述命令. 在Red Hat Linux, 这是由晚上的cron job做的. 如果您的系统晚上不运行,
这个数据库就不会创建. 这时您可以作为root用户执行以下命令:
/etc/cron.weekly/makewhatis.cron
一旦您完成了(注意那可能要花一些时间), 您可以输入man -k swapon. 这条命令将输出:
# man -k swapon
swapon, swapoff (2) - start/stop swapping to file/device
swapon, swapoff (8) - enable/disable devices and files for \
paging and swapping
您可以看到在第2和第8节中都有关于swapon(在这个例子中还有swapoff)的man page.
Man page在很少的空间里提供了很多的信息. 因此, 它可能较难阅读. 这里概述了大多数man page中都有的部分:
- Name -- 程序名. 如果一些程序密切相关的话, 可能放在一起.
- Synopsis -- 命令的格式, 显示所有的选项和参数.
- Description -- 程序功能的描述.
- Options -- 所有选项的清单和他们的描述.
- See Also -- 如果有的话, 列出和这个程序相关的其他程序.
- Files -- 如果有的话, 列出这个程序使用或修改的文件.
- History -- 如果有的话, 列出这个程序开发的重要里程碑.
- Authors -- 写这个程序的人.
如果您是Linux新手, 不要把man page当成教程; 它只是简明的参考资料. 试图用 man page来学习Linux就好象试图用字典来学习英语.
如果您开始学习Linux, 还有许多信息来源; 让我们继续寻找文档...
许多软件包都有README文件和其他文档. 专为Red Hat Linux制作的包定义了一个标准的地方存放那些文档,
所以您不需要到处寻找它们. 每个包都把文档发在 /usr/doc下的一个子目录中.
子目录名取决于包的名称和版本号. 例如tin包可能是1.22版. 那么, 文档就放在/usr/doc/tin-1.22目录.
大多数情况, /usr/doc中的文档是ASCII码. 您可以用more filename 或者less
filename来阅读.
有这些文档事情就简单了, 但是如果您想查找一个命令(或文件), 可又不知道这个命令来自哪个包, 怎么办? 没关系! 例如, 如果您不知道/usr/bin/rtin属于哪个包,
又想了解关于它的信息. 只需输入:
rpm -qdf /usr/bin/rtin
这条命令将从含有文件/usr/bin/rtin的包那里列出所有的文档(包括man page). RPM的能力还不止这些. 第8章将介绍RPM.
当然, 也许这类信息不是您想要的. 也许您对面向任务的文档更感兴趣. 请继续...
如果您安装了它们, Linux文档计划的大多数内容将在您的系统的/usr/doc 目录中找到.
目录/usr/doc/HOWTO包含了您的Red Hat Linux CD-ROM发行时所能找到的所有HOWTO. 为了节约空间它们用gzip压缩了,
所有您在阅读之前必须解压缩. 有一种方法可以阅读压缩的HOWTO, 不会让解压缩后的文件搞乱您的硬盘, 即使用 zless:
zless 3Dfx-HOWTO.gz
zless使用和less一样的键, 所以您可以在HOWTO中容易地翻页.
/usr/doc/HOWTO/mini包含了所有的mini-HOWTOs. 它们没有压缩可以直接用more 或者
less来阅读.
/usr/doc/HOWTO/other-formats/html 包含了HTML格式的所有的HOWTO以及 Linux
Installation and Getting Started. 使用您喜欢的浏览器来看.
/usr/doc/FAQ 包含了ASCII格式(和部分HTML格式)的一些FAQ(常见问题). 可以用more 或者
less(或者浏览器)来阅读.
如果您不知道一个命令和文件的全名, 但想找到它, 您可以用locate命令来找到它. locate使用一个数据库来发现您系统的所有文件.
通常这个数据库是在晚上由一个cron job创建的. 但如果您的计算机不是一直运行Linux, 您可以用以下命令:
/etc/cron.daily/updatedb.cron
执行完这个命令后必须重启动系统, 才能使locate正常工作.
如果您想查找所有的'finger'文件, 您可以执行:
locate finger
它的输出可能是:
/usr/bin/finger
/usr/lib/irc/script/finger
/usr/man/man1/finger.1
/usr/man/man8/in.fingerd.8
/usr/sbin/in.fingerd
注意locate不仅返回文件名, 而且返回目录名. 所以, 如果您有一个 /home/djb/finger/ 目录,
它将返回这个目录的所有文件.
man是最普遍的文档格式, 而info则更有力. 它提供了超文本连接使大的文档更易于阅读,
同时为文档的作者提供了许多特性. 在Red Hat的不同方面(特别是GNU部分), 有一些非常完成的info文档.
阅读info文档可以使用 info 程序(不要来参数). 它将列出一个文档的清单. 如果您没有发现您所需要的,
那是因为您没有安装包含那个文档的软件包. 用RPM安装后再试.
如果您喜欢使用emacs, 它有一个内置的info文档浏览器. 使用[Ctrl-h] [i]
键就可以看到它.
info系统是一个超文本系统. 任何高亮度显示的文字都有一个连接导向更多的信息. 使用[Tab]将光标移到连接, 并按[Enter]进入连接.
按[p]返回上一页, [n] 翻到下一页, 而 [u] 回到文档的上一层. 退出info,
按[Ctrl-x] [Ctrl-c] (control-x 然后control-c).
学习如何使用 info 的最佳方法是用它阅读info文档. 如果您阅读了 info显示的第一页, 您将有能力继续.
|