学习Linux的同学,都会使用man来查阅一些命令的帮助信息,常见的使用方法就是“man 命令名称”这样简单的格式。本文就对man命令简要介绍一下。

l man命令的章节

man就是manual的缩写,用来查看系统中自带的各种参考手册,但是手册页分为好几章(一般为8章,第9章非标准),如下所示:

1 Executable programs or shell commands

2 System calls (functions provided by the kernel)

3 Library calls (functions within program libraries)

4 Special files (usually found in /dev)

5 File formats and conventions eg /etc/passwd

6 Games

7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)

8 System administration commands (usually only for root)

9 Kernel routines [Non standard]

译成中文,即是:

1是普通的命令

2是系统调用,如open、write之类的

3是库函数,如printf、fread

4是特殊文件,也就是/dev下的各种设备文件

5是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义

6是给游戏留的,由各个游戏自己定义

7是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8是系统管理用的命令,这些命令只能由root使用,如ifconfig 

9是非标准

由于各章是从不同的角度来对某个命令进行解释。那了解了各章的内容,我们就可以根据自己的需要快速查找相关帮助。具体用法是:

在shell中输入man+数字+命令/函数,即可以查到相关的命令和函数。(若不加数字,那man命令默认从数字较小的手册中寻找相关命令和函数。)

例如,本来是想寻找c标准库中的rand()函数,直接使用man rand得到的是一个rand命令的手册,直接用来产生一个随机数,这个内容在手册section 1中。如果使用man 3 rand就可以得到自己想要的库函数中rand()的用法了。

l man信息保存路径

可以使用manpath命令查看。

clip_image002

l man命令输出结果

所有命令的联机帮助都有相同的基本格式,从第1行可以知道这是关于哪个命令的帮助,还可以知道这个帮助是位于哪一章的。接下来输出结果各部分如下(各命令的各部分不尽相同):

名字(NAME):包含命令的名字以及对这个命令的简短说明。

概要(SYNOPSYS):给出了命令的用法说明,包括命令格式、参数和选项列表。在联机帮助中方括号表示该选项不是一个必须的部分。

描述(DESCRIPTION):是关于命令功能的详细阐述,是这个命令的权威性解释。

选项(OPTIONS):给出了命令行中每一个选项说明。

作者(AUTHOR):命令的作者

提交BUG(PORTING BUGS):使用中遇到此命令的bug应该提交到哪

版权(COPYRIGHT):描述了该命令的版权

参阅(SEE ALSO):包含了与这个命令相关的其它主题。

l man输出结果中运行命令

man中运行命令,使用!,再敲入命令,即可显示此命令结果,按回车键返回,如:

clip_image004

l man中常用的按键

按鍵

说明

空格鍵

向下翻一页

[Enter]

向下翻一行

[Page Down]

向下翻一页,↓为向下一行

[Page Up]

向上翻一页,↑为向上一行

[Home]

到第一页

[End]

到最后一页

/string

向『下』搜寻关键字string

?string

向『上』搜寻关键字string

n, N

利用/或?进行搜索时,可以用n来查看下一个结果,用N来进行『反向』查看。

q

结束这次的man输出

关于man的使用方法还有很多,希望同学们多留心。