一天一点学习Linux之如何使用Linux系统自身的帮助

来源:岁月联盟 编辑:exp 时间:2011-10-12

我们在学习和使用Linux系统的时候,大家觉得命令的使用是个很头痛的事情,因为系统串的命令太多,每个命令也有N多参数,如果一个个背下来,如果你是神童,估计差不多。我是凡人,没有那个本事,把这些全部背下来。那有没有什么好的方便的途径,来很好的使用这些命令呢?这就是我们今天要交流的内容:man与info。他们就像个字典,遇到不会、不明白的地方,拿出来就翻,很不错。
下面我们就来看看这个字典的使用

man命令的使用方法
man就是manual的缩写,用来查看系统中自带的各种参考手册,但是手册页分为好几个部分


1 User Commands  #用户命令
2 System Calls  #系统调用。即由内核提供的函数
3 C Library Functions  #库与函数
4 Devices and Special Files  #设备与特殊文件
5 File Formats and Conventions  #文件格式与协定
6 Games et. Al.  #游戏
7 Miscellanea  #杂项
8 System Administration tools and Deamons  #系统管理员工具
以上这8个部分可以通过man 1 man来查看
通过上面的说明,我们看出,1和5这两个是非常关键的,也是用到最多的。
1就是针对一些命令使用的帮助,5就是配置文件的相关帮助。我们常用的man如果后面不加数字话,就默认用的是1。

了解man page里面的内容
我们以man man来做说明
NAME 介绍
SYNOPSIS 使用的语法
DESCRIPTION 描述
MANUAL SECTIONS man手册的划分(就是我们上面的8个部分)
OPTIONS 针对SYNOPSIS部分中详细的参数说明
CAT PAGES 命令文件的格式
HTML PAGES 命令文件的格式
SEARCH PATH FOR MANUAL PAGES 手册的查找路径
ENVIRONMENT 环境变量
BUGS 一些BUG
AUTHOR 作者
SEE ALSO 一些可以参考的内容
当然,还会有些其它的内容,如
COMMANDS 可以使用的命令
EXAMPLES 一些例子
FILES 使用、参考或连结到的某些文件
我们看帮助要根据你想查找的内容,有针对性的来看。比如说,我不知道ls命令如何来使用,我就要着重来看OPTIONS部分。如果说,我不明白这个命令是干吗的,我就要着重来看DESCRIPTION部分。

我们看到,帮助文件里面的内容非常丰富。这么多内容,一行一行向下看,是不是有点太浪费时间,下面就来介绍man里面的一些技巧。
用空格键向下翻页,PgUp PgDn 上下翻页。想查找关键字,可以用/keyword(关键字)来向下查找keyword,继续查找用n,反向用N。向上查找关键字用?keyword(关键字)。HOME到第一页,END到最后一页。q退出man。
可以参考下图

man


man page相关的设置
不同的发行版本通常可能不同,不过,通常是放在/usr/share/man这个目录里,我们可以通过修改他的man page搜寻路径来改变这个目录。我们看看/etc/man.config这个文件。
[root@yufei ~]# vim /etc/man.config
……
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH /usr/X11R6/man
……
这里就是设置man所要查找的目录。如果说我们自己安装了一些软件,我们也可以把软件安装的帮助文件,加到man的目录里面,如
# MANPATH       /opt/*/man
# MANPATH       /usr/lib/*/man
# MANPATH       /usr/share/*/man

这里有个问题,我们在查看一些命令帮助的时候,为什么也会到这里目录里面来找相应的帮助文件呢?那就是下面的映射功能。(关于用户的环境变量问题,我们后面再来讲)
……
MANPATH_MAP     /bin                    /usr/share/man
MANPATH_MAP     /sbin                   /usr/share/man
MANPATH_MAP     /usr/bin                /usr/share/man
MANPATH_MAP     /usr/sbin               /usr/share/man
MANPATH_MAP     /usr/local/bin          /usr/local/share/man
MANPATH_MAP     /usr/local/sbin         /usr/local/share/man
MANPATH_MAP     /usr/X11R6/bin          /usr/X11R6/man
MANPATH_MAP     /usr/bin/X11            /usr/X11R6/man
MANPATH_MAP     /usr/bin/mh             /usr/share/man
……

关于其它的相关设置,我们就不在这里介绍。想更深入研究的朋友,可以查阅相关的访文档。

为了更好的使用man,我们来看几个实例
1、查看系统中和man命令相关的帮助文件
[root@yufei ~]# man -f man
man                  (1)  – format and display the on-line manual pages
man                  (1p)  – display system documentation
man                  (7)  – macros to format man pages
man-pages            (7)  – conventions for writing Linux man pages
man.config [man]     (5)  – configuration data for man
从上面的信息,我们可以看出,括号里面的数字对应后面的说明,如果说,我要看man这个命令的格式与用法就用 man 1 man来查看(通常man 1省略,直接用man。也就是说man 1 man=man man)。如果说我想看man这个配置文件,我就可以用man -5 man.config来查看。

2、利用关键字来查找
[root@yufei ~]# man -k network
……
NetworkManager.conf [NetworkManager] (5)  – NetworkManager configuration file
Wget [wget]          (1)  – The non-interactive network downloader
……
这里面含有非常丰富的内容,如果你只记得关键字了,那么上面的这个命令,是非常不错的选择。
如果说,你不知道哪个命令如何使用了,就找man。如果说,你连命令如何写都不知道了,那就用TAB吧!这两个用起来都说好。

info命令
基本上,info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。但是与man page不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。 所以,可以将info page想成是文本模式的网页显示数据。不过你要查询的目标数据的说明文件必须要以info的格式来写成才能够使用info的特殊功能(例如超链接)。 而这个支持info命令的文件默认是放置在/usr/share/info/这个目录当中的。
我们以info info为例来讲解
  File:代表这个info page的资料是来自info.info档案所提供的
  Node:代表目前的这个页面是属于Top节点 意思是info.info内含有很多信息,而Top仅是info.info档案内的一个节点内容
  Next:下一个节点的名称为Getting Started,你也可以按『N』到下个节点去
  Up:回到上一层的节点总揽画面,你也可以按下『U』回到上一层
  Prev:前一个节点
  Tab:就可以快速的将光标在上表的画面中的node间移动
因为info与man的目的是相同,所以这里就不做过多解释,关于info的更多用法,请自行学习了解。

–help与-h
这两个参数一般跟在命令的后面,用来显示命令的用法帮助。这里面显示的内容比较简单。

其他在线帮助相关内容
一般而言,命令或者软件开发者,为了让用户能够快速使用命令或软件,一般都会将自己的命令或者是软件的说明制作成联机帮助文件,供大家参考。但毕竟不是每个都需要做成联机帮助文件,还有相当多的说明需要额外的文件。这些说明文件一般在/usr/share/doc这个目录里,有兴趣的朋友,可以到这个目录里面看看。想看哪个信息,就到哪个目录里面。哈哈,所以大家要努力学习好英文,因为这些资料,全是用英文写的。