Linux man手册使用指南

来源:互联网 发布:网络运营学徒好做吗 编辑:程序博客网 时间:2024/04/28 17:06

使用Linux下man已经很久了。但只是大概知道其内容的存放目录,以及man number xxx中mumber的含义。今天需要添加C++ man page。顺便将man的内容作一个较详细的了解。


0. man后面数字的含义:


之前Sam在查找C库函数时,会使用#man 3 func


在查找系统调用时,则使用#man 2 fork.


否则有时会出现查到同名的shell中命令的情况,如#man printf.


只是大概明白这个数字表示的是不同类型,但其具体是什么,以及如何发挥作用。则并不清楚。


详细说明如下:


1  shell中用户可用的命令(User Commands)
2  使用函数库中程序可用的系统调用
3  程序中可用的库函数
4  /dev目录中可用的设备
5  多种杂项系统文件(ex:/etc/)
6  如果有的话,游戏程序
7  杂项信息
8  管理员可用的命令


1. man命令的搜索路径:


1:$PATH变量指定的路径
2:/etc/man.config文件中MANPATH中指定的路径
其中/etc/man.config中有如下内容:


MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH /usr/X11R6/man


所以,如果需要添加新的man page.则只需要将man page目录添加到/etc/man.config MANPATH项目既可。


2. 如果在以上8类man page中有重名项目。是如何确定哪个优先显示:


在/etc/man.config中,有一项:MANSECT,用来指定显示优先级。


MANSECT  1:1p:8:2:3:3p:4:5:6:7:9:0p:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x


如果没有指定具体显示哪一个,则按MANSECT顺选来显示。


例如:


#man printf


则会优先显示1.shell中用户可用的命令


可以使用#man -a printf查看其顺序。


其中3p的p,表示 POSIX。


4. 帮助文件格式:


man程序读取的帮助文件格式分为两大类.
1. troff程序编写的源程序.
2. 通过压缩工具压缩过的源程序.


man程序可以直接读取的格式,是第一大类,和第二大类中用gzip压缩的帮助文件.
其它的压缩格式的处理,则在/etc/man.config中指定:


.gz  /usr/bin/gunzip -c
.bz2  /usr/bin/bzip2 -c -d
.z
.Z  /bin/zcat
.F
.Y


/usr/share/man存放了绝大多数的帮助文件,而且都是压缩格式的帮助文件.
/usr/local/share/man存放的都是以文本格式的帮助文件.


例如:使用gunzip -c /usr/share/man/man3/strcpy.3.gz的内容,


就与#man 3 strcpy 结果对应。


5. man 文件结构:


/usr/share/man中包括man1,man2,man3,man3p....man8等目录。其中man后的数字,就是对应前面知识点0中的list.


增加C++ 标准库 man page:


1.download


ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/


2.解压缩,将man3目录copy到/usr/share/c++/man目录中。


3.在/etc/man.config中添加


MANPATH /usr/share/c++/man


然后使用:


#man std::iostream


成功。


另外:std man 也可以在


http://docsrv.sco.com/man/html.3C++std/


看到。更方便。


原创粉丝点击