Ubuntu14.04 man手册安装与自定义制作

    最近使用Ubuntu14.04来做开发,但是发现man手册不全,比如sizeof、ulimit的手册都没有,下面是解决办法。

1 安装标准c的相关的帮助文档

sudo apt-get install libc-dev
sudo apt-get install glibc-doc

    这时候,ulimit的man手册已经有了,但是sizeof的手册还是缺乏。

2 安装标准c++的帮助文档:(版本号以tab键自动提示的为准)[3]

sudo apt-get install libstdc++6-4.7-dev
sudo apt-get install libstdc++6-4.7-doc
3 安装 c++ STL 相关帮助文档[3]

sudo apt-get install stl-manual

4 安装POSIX标准相关帮助文档[3]
sudo apt-get install manpages-posix-dev

5 自定义手册

    有时候自己写的函数/命令也希望可以通过man来查看帮助信息,那么怎样实现呢?下面是具体的方法。

5.1 manpaht.config

    man的搜索路径在/etc/manpath.config中设置,如下图:

Ubuntu14.04 man手册安装与自定义制作_第1张图片

                                            图 5.1

5.2 man -w

    关于man的搜索路径,还可以使用man -w查看,如下图


                                             图5.2

    使用-w参数查看write函数说明文档所在文件,如下图:


                      图5.3

    说明

    -a, --all:默认情况下,man只显示最匹配的查找结果。使用这个参数,是的man显示所有的结果。

    -w:只显显示所查找命令/函数所在的文件。

5.3 man帮助文档格式

5.3.1 文件格式

    由图5.3可见,man帮助文档一般都是.gz文件(使用gzip压缩,gunzip解压),我们可以将自定义的帮助文档保存为此格式。压缩为.gz格式是为了节约空间,使用gunzip工具把它解压为源文件(不带.gz后缀),man命令照样可以读取其内容!

5.3.2 文件名格式

    由图5.3可见,一个函数/命令所对应的帮助文档保存在以该函数名命名的man1/man2/man3目录中(其实还有man4...man8,甚至可以自定义man9,man10...),并且文件名必须有后缀.1/.2/.3(后缀的数字要和该文档所在的目录名最后的数字对应)。

    至于后缀.gz,可以没有,如图5.4所示。


                                 图5.4

    说明:图5.4中的黄色圈主的部分是我添加的。首先在/usr/share/man目录中创建一个man9目录(默认已有man1~man8),然后再man9中创建一个文件read.9,格式为纯文本格式,所以没有.gz后缀。.9后缀是必需的,而.gz则可有无可无(纯文本不用,gzip压缩文件就要)。

5.3.3 帮助文档内容格式

    可以使用gunzip解压fopen.3..gz,得到fopen.3,使用vim打开此文件,其部分内容如下所示:

Ubuntu14.04 man手册安装与自定义制作_第2张图片

                                                   图 5.5

    有上图可见,除了说明信息,还有.TH.SH等辅助信息,在使用man命令查看此函数时,这些辅助信息是没有显示的。这里辅助信息的意义见参考资料[5]。

5.3.4 自定义帮助文档点击打开链接

5.3.4.1 包含辅助信息

    第5.3.3小节说到fopen.3中是有辅助信息的(标记),要创建一个具有辅助信息的帮助文档,方法见参考资料[5][8]。可以使用groff工具将标准的文本和特殊的命令翻译成格式化的输出。

groff -Tascii -man caocao.1

5.3.4.2 不包含辅助信息

    第5.3.2小节说到,read.9是纯文本的,因此我们可以创建没有辅助信息的帮助文档,man命令照样可以正常显示。当需要编辑的此帮助文档的时候,可以使用vim,这样就方便动态的往帮助文档中添加内容。

参考资料

[1]ubuntu下man帮助文档不全怎么办?如何解决?

[2]ubuntu14.04系列使用教程:[1]安装中文man

[3]ubuntu man 帮助文档不全

[4]ubuntu中文版man手册配置方法

[5]Linux下自定义命令行实用程序及命令的man手册的编写

[6]linux man命令查看原理

[7]如何把linux系统的man手册导出

[8]Linux 文档编写全攻略

[9]Writing GNUstep man-pages with groff

你可能感兴趣的:(Ubuntu14.04 man手册安装与自定义制作)