总体来说Linux中我们可以通过如下方法获取到命令帮助


whatis

command --help

man and info

本地帮助文档/usr/share/doc/

官网在线文档

其它网站和搜索

 




 在获取帮助时,内部命令和外部命令获得帮助的方法也不同


内部命令通过如下方法获得帮助:

#help COMMAND

#man bash

只有内部命令能够使用 help 命令名 的方式得到帮助


外部命令通过如下方法获得帮助:

(1) # COMMAND --help

 # COMMAND -h

 (2) 使用手册(manual)

 # man COMMAND

 (3) 信息页

 # info COMMAND

 (4) 程序自身的帮助文档

 README

 INSTALL

 ChangeLog

 (5) 程序官方文档

 官方站点:Documentation

 (6) 发行版的官方文档

 (7) Google




 

其他获取帮助的渠道


红帽知识库和官方在线文档。

http://kbase.redhat.com 

http://www.redhat.com/docs 

http://access.redhat.com

 

或者通过一些搜索的方式。

 http://tldp.org

 http://www.slideshare.net

 http://www.google.com

 





此处重点描述通过man命令获取帮助的一些方法。

 

当使用man帮助查找的命令或者文件重名时,我们可以使用whatis命令查看对应命令的帮助章节。

这样说可能不太容易理解,我们看一下具体的情况。

例如:centos中存在/etc/passwd这个文件,同时存在passwd这个命令,它们的关键字都叫passwd,所以我们使用man passwd查看passwd的帮助的时候,系统怎么判断我们是要查看/etc/passwd这个文件的帮助内容,还是要查看passwd这个命令的帮助内容呢?如果我们不告诉系统,系统是没有办法判断的,系统会默认返回一个帮助,这个帮助可能恰巧不是我们需要的,所以我们要明确告诉系统,我们要查看的帮助是/etc/passwd文件的,还是passwd命令的,但是问题来了,我们也不知道怎么区分这两个passwd,这个时候,就会用到man章节的概念,使用whatis命令查看对应命令的man帮助信息,确定对应命令的man章节号。

 

具体步骤如下

[root@cos68 ~]# whatis passwd
passwd               (1)  - update user's authentication tokens
passwd               (5)  - password file
passwd
[sslpasswd]   (1ssl)  - compute password hashes


使用whatis passwd命令,从返回结果可以查到,/etc/passwd这个文件对应的帮助章节号为第5章,passwd命令的帮助章节号为第1章,所以,如果我们要查看/etc/passwd这个文件的帮助时,可以使用如下命令查询:

man 5 passwd

注:使用makewhatis命令(centos6)或者mandbcentos7)命令生成相应的信息数据库

 

而如果我们不加章节号,直接使用man passwd查询,系统会默认返回passwd命令的帮助,所以,当我们需要查询/etc/passwd这个文件的相关帮助的时候,返回的结果就不是我们想要的。

 

 



当我们使用man命令得到帮助信息时,有没有想过这些信息存放在什么位置,存放在哪些文件中呢?

man的帮助信息文件实际存放在/usr/share/man目录下。

 

可以看到/usr/share/man目录下有很多以man开头以数字结尾的目录,man后面的数字就代表了man的章节,man章节的概念前面已经提到过,man章节区分了帮助信息的类型,不同的帮助信息存放在不同的章节中,具体区分如下:

1: 用户命令

2: 系统调用

3: C库调用

4: 设备文件及特殊文件

5: 配置文件格式

6: 游戏

7: 杂项

8: 管理类的命令

9:Linux 内核API

 

对应上面的描述,我们可以知道:

/usr/share/man/man5目录中存放了配置文件格式的相关帮助

/usr/share/man/man1目录中存放了用户命令的相关帮助

这再一次印证了whatis passwd命令查询出的信息

[root@cos68 ~]# whatis passwd
passwd               (1)  - update user's authentication tokens
passwd               (5)  - password file
passwd
[sslpasswd]   (1ssl)  - compute password hashes


而每个man#目录下又有很多压缩文件,这些压缩文件就是对应命令的帮助内容文档。

 

比如,我们使用whereis命令查看ls命令的相关文件的位置

[root@cos68 man]# whereis ls

ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

可以看到,ls命令对应的man帮助文件的实际位置就是/usr/share/man/man1/ls.1.gz

当我们使用man ls查看ls的帮助的时候,就是查看/usr/share/man/man1/ls.1.gz这个文件中的内容

 

 



man的配置文件

centos6中 我们可以查看man的配置文件

[root@cos68 man]# cat /etc/man.config

 

可以看到如下配置,MANPATH配置了man帮助文件的路径,也就是说man命令从如下目录中查找命令的帮助文件。

MANPATH /usr/man

MANPATH /usr/share/man

MANPATH /usr/local/man

MANPATH /usr/local/share/man

MANPATH /usr/X11R6/man


如下配置代表各种帮助文件通过哪些命令进行解压缩。

.gz             /usr/bin/gunzip -c

.bz2            /usr/bin/bzip2 -c -d

.lzma           /usr/bin/unlzma -c -d

.z

.Z              /bin/zcat

.F

.Y




centos7中,man的配置文件名有所变化。

[root@cos72 ~]# cat /etc/man_db.conf


MANDATORY_MANPATH                        /usr/man

MANDATORY_MANPATH                        /usr/share/man

MANDATORY_MANPATH                        /usr/local/share/man

可以看到如下配置,MANDATORY_MANPATH配置了man帮助文件的路径,也就是说man命令从如下目录中查找命令对应的帮助文件。


 

 



man命令的常用参数

man -f cmd   显示命令的章节信息,相当于whatis命令。


man -k keyword 在帮助中搜索关键字,并显示出所有包含此关键字的帮助的章节信息,这个命令非常有用,我们经常会遇到一种情况,比如,我们想改用户口令,但是我又不知道哪个命令可以修改用户的口令,这个时候,我们猜测,既然是改口令,那么肯定跟password有关,于是,我们就输入man -k password,这个时候,我们就会得到很多提示,这些提示中都包含password关键字,而且这些提示都有对应的章节,从这些提示中,我们往往能够找到解决问题的方法。

 

 

 


 

 如果通过man获取到的信息不是那么详细,我们还可以尝试使用info命令获取相关帮助。

info帮助的信息排版类似网页,里面还有链接可以跳转到不同的具体描述信息页面。

info 页面的结构就像一个网站,每一页中包含“节点”,“节点”以链接的形式存在,链接节点之前 会有*符号,*号开头的行证明此行文字是一个链接,光标移动到此行,按回车键可以进入对应的链接节点。

 

例如:我们使用info ls 命令获取ls命令的相关帮助信息,进入info页面以后看到一些信息,向下翻页,可以看到一些类似如下以星号开头的文字

* Which files are listed::

* What information is listed::

* Sorting the output::

* Details about version sort::

* General output formatting::

* Formatting file timestamps::

* Formatting the file names::

这些都是节点链接,我们可以将光标移动到星号开头的一行,然后按回车键,即可进入到对应的节点查看具体的信息。

 

info的一些常用操作

方向键, PgUp, PgDn 可以翻页

Tab键 移动到下一个链接

d 显示主题目录

Home 显示主题首部

Enter进入 选定链接

n/p/u/l 进入下/前/上一层/最后一个链接

s 文字 文本搜索

q 退出 info

 

 



  除了通过man或者info查看相关帮助,我们还可以到/usr/share/doc目录中查找对应程序或者命令的相关文档

/usr/share/doc目录中也会有安装过的软件的相关帮助文档



 

博客主页请访问

http://www.zsythink.net/



.