man

显示联机参考手册


语法格式

man [-acdDfFhkKwW] [-B browser] [-C conf] [-H htmlpager] [-m system] [-M paths]
[-P pager] [-S sections] [section] names

命令简介

man命令用于显示联机参考手册。如果指定了节号,man仅考察指定节的手册页。names通常是手册页的名字,即命令、系统调用、函数或系统文件的名字。但是,如果名字包含斜线字符“/”,man就会解释成文件的路径名,从而直接编排与显示指定的目录或文件,如“man mydoc/cmd.1”或“man /usr/share/man/ man1/nl.1.gz”等。

下面是系统采用的标准手册分节方法:

1  用户命令。

2  系统调用。

3  C库函数。

4  设备及其特殊文件

5  系统文件与配置文件格式定义。

6  游戏。

7  其他。

8  系统管理命令与守护进程。

基于调用时指定的命令选项、环境变量、/etc/man.config配置文件以及内部的处理管理与探索算法,man采用复杂的方法检索手册页文件。

首先,当指定的names参数包含斜线字符“/”时,man假定names本身是一个文件路径名,不需要做进一步的检索。

但在通常情况下,names参数并不包含斜线字符,这时man需要检索各种目录,找出可能与指定参数names匹配的手册页文件。

如果指定了“-M paths”选项,其中paths是一组冒号分隔的目录,表示应从列举的目录中检索指定的手册页。

如果未指定“-M”选项,但设置了MANPATH环境变量,变量的值也是一组冒号分隔的目录,表示可从这些目录中检索指定的手册页。

如果没有采用“-M”选项与MANPATH变量的方法指定检索路径,man将会根据/etc/man.config配置文件的内容自行确定检索目录。配置文件中的MANPATH等语句用于指定手册页的基本检索路径。

在上述检索路径的每一个目录中,man将会检索形如topic.section(可能还有一个选用的压缩文件后缀)的文件。如果没有检索到这样的文件,man还会继续检索manN或catN等子目录,其中N是手册页的节号。如果文件位于catN子目录中,man假定这是一个转换格式后的手册页文件。否则,man假定文件未做格式转换。不管是否已做过格式转换,如果文件名含有一个已知的压缩后缀(如“.gz”),man假定这是一个gzip压缩文件。

如果想要查询某个目录中存在的特定手册页文件,可以使用“-w”选项。

如果手册页具有“.html”扩展名,且位于标准目录/usr/share/man/htmlmanN,man命令也能检索HTML页面形式的手册页。例如,HTML版本的ls(1)命令的有效路径名应为/usr/share/man/htmlman1/ls.1.html。

为了节省再次查询同一手册页的格式转换时间,man命令可以尝试保存转换格式后的手册页。通常,未格式的手册页主要位于/usr/share/man/manN目录,格式之后的手册页可以保存在/var/cache/man/catN等目录。若想保存在其他目录位置,可以在/etc/man.config配置文件中设定。当要求的目录不存在时,man不会保存转换格式后的手册页。此外,当手册页格式后的行宽不是标准的80列时,man也不会保存转换格式后的手册页。同样,当man.config配置文件包含NOCACHE一行的设置时,man也不会保存格式转换后的手册页。

命令选项

-a  通常,在输出发现的第一个手册页之后,man将会退出。使用这个选项将会强制man显示匹配指定名字的所有手册页,而非仅仅第一个手册页。

-B browser  指定使用哪一种浏览器查阅HTML文件。使用这个选项可以强制取代环境变量BROWSER的值。通常,man使用“/usr/bin/less -is”命令查阅HTML文件。

-c  重新编排源手册页,即使当前的手册页已经是最新的。如果预先格式的手册页已经损坏,或当前屏幕窗口的宽度不同,使用这个选项是非常有意义的。

-C conf  指定使用的配置文件,默认的配置文件是/etc/man.config。

-d  实际上并不显示手册页,只是显示大量的调试信息而已。

-D  显示和打印调试信息。

-f  相当于运行whatis命令,显示与指定的完整单词有关的手册页。

-F, --preformat  仅仅编排指定的命令手册而不显示。

-h  显示命令的用法与选项说明等帮助信息,然后退出。

-H htmlpager  指定一个能够把HTML文件转换成常规文本的命令。使用这个选项可以强制取代环境变量HTMLPAGER的值。HTMLPAGER变量用于设置浏览HTML形式手册页的程序。如果未设置,man使用“/bin/cat”命令浏览HTML文件。

-k  相当于运行apropos命令,显示与指定关键字有关的所有手册页列表。

-K  从所有的手册页中检索指定的字符串,用户可以根据提示,查阅或跳过选择的手册页,或者退出检索。注意,由于需要在大量的手册页中逐一检索,运行速度可能非常慢。

-m system  指定一个替代的系统,用于检索其中的手册页集合。

-M paths  指定检索手册页的一组目录。目录之间使用冒号分隔符。如果指定的目录为空,相当于根本未指定“-M”选项。

-P pager  指定使用哪一个分页显示程序显示手册页。使用这个选项可以强制取代MANPAGER环境变量的值(MANPAGER环境变量用于设置man显示手册页时选用的分页显示程序,如果未设置,使用PAGER环境变量的值作为分页显示程序)。通常,man使用“/usr/bin/less -is”命令作为分页显示程序。

-S sections  指定一组欲检索的手册页节号,中间加冒号“:”分隔符。使用这个选项可以强制取代MANSECT环境变量的值。

-w, --path  实际上并不显示手册页,只是显示man检索手册页文件的目录位置而已。

-W  类似于“-w”选项,但每行仅显示一个文件名,不输出任何附加的信息,参见“man -aW man | xargs ls -l”的输出。

应用实例

1. 查询指定命令的参考手册页。

$ man find

2. 若想获取普通文本版的命令手册,删除其中的退格键与下画线字符,可以使用col命令过滤man命令的输出。

$ man find | col -b > find.txt
$

3. 使用指定的关键字,执行模糊查询,看看是否存在相关的参考手册等文档。

$ man –k boot

4. 查阅与signal有关的所有手册页。

$ man –a signal

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z