专栏首页编程珠玑linux自助安装man手册,就是这么简单!

linux自助安装man手册,就是这么简单!

前言

在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如:

man 3 sleep

但是一般却没有C++的函数手册,怎么把C++的帮助手册也装在机器上呢?

本文借助C++手册的安装,说明如何自助安装man手册。

man原理

如果你还不习惯使用man命令或者不清楚man命令的作用,那么建议你先看看这篇《linux必学命令-man》。

安装C++手册

主要步骤如下:

  • 下载手册
  • 安装手册
  • 使用手册

下载

安装的第一步自然是先下载手册。 可以先进入下面一个镜像网站:

http://gcc.gnu.org/mirrors.html

进入之后发现有很多站点,随意进入一个,假设进入:

http://mirror.linux-ia64.org/gnu/gcc

找到libstdc++/doxygen,即可选择下载你需要的手册。注意选择带有man的压缩包,如我选择下载的是:

libstdc++-api.20140403.man.tar.bz2

安装

所谓安装也不过是将下载好的手册文件解压到指定位置。还记得在《速查手册-man》介绍各个手册的区别吗?由于我们的是库函数手册,因此最好把它放在3处。

于是,我们解压:

$ tar -xvf libstdc++-api.20140403.man.tar.bz2

解压后的文件会在libstdc++-api.20140403.man下,为了避免和其他的手册文件混在一起,我们重新创建一个目录:

$ mkdir -p /usr/local/cpp/man  #可能需要root权限执行

此时将其拷贝到上面的目录下:

$ cp -rf ./libstdc++-api.20140403.man/man3 /usr/local/cpp/man/

但是我们发现此时仍然找不到手册:

$ man std::cout
No manual entry for std::cout

原因也很简单,这和我们执行普通命令类似(参考《为什么执行自己的程序要在前面加./》),它在要搜索的路径中找不到我们的手册。那我们在哪里添加的呢? 我们可以通过man命令查看man手册的FILES部分:

$ man man
FILES
       /etc/man_db.conf
              man-db configuration file.

所以对于我的机器来说,我需要在/etc/man_db.conf中添加路径 找到MANDATORY_MANPATH相关行,添加新行:

MANDATORY_MANPATH           /usr/local/cpp/man

这样就可以了。

我们来试一下:

$ man std::count
No manual entry for std::count

为什么还是没有呢?,你查看一下/usr/local/cpp/man/man3下的文件都是什么名字就明白了:

$ ls /usr/local/cpp/man/man3/* |more
std::iostream.3

原来还要带上命名空间和头文件的名字,例如:

$ man std::map

然后再使用搜索功能:

$ /size   #左斜杠可以搜索,这里搜索size

看起来好像也没那么方便啊…… 这里说明一下,C++中有命名空间的概念,不同的类中可能有相同名称的成员函数,因此直接查看某个函数的手册,也是很难准确找到的。

突然觉得下载一个html或者pdf的手册好像也挺方便的了,可自行体验。

在线手册

在线手册的好处就是,它能比较清晰地看到各个版本的C++相关特性。这里主要推荐两个

https://en.cppreference.com/ 英文
https://zh.cppreference.com/ 中文
www.cplusplus.com

从中搜索就可以啦。

对于linux命令和C库函数,基本使用man进行查看,但是对于C++,不管你用不用,反正我是用在线的。

当然了,如果你使用chrome浏览器的话,还可以配置一下,地址栏输入C即可直接搜索。

设置方法: 找到设置-管理搜索引擎,添加内容

中文版:

https://zh.cppreference.com/mwiki/index.php?title=Special:%E6%90%9C%E7%B4%A2&search=%s

英文版:

https://en.cppreference.com/mwiki/index.php?title=Special:Search&search=%s

添加内容如下图:

如果你已经在这两个网站搜索过,你还可以在其他搜索引擎中看到这样的内容:

这个时候你只需要编辑里面的关键字,设置成自己喜欢的就可以了,如C。

添加之后,在chrome地址栏输入c,按tab键,即可出现:

手边手册

要么就是买一本大头手册《C++标准库》。

当然也可以在公众号【编程珠玑】后台回复【C++标准库】获取电子版,仅供学习交流。

本文分享自微信公众号 - 编程珠玑(shouwangxiansheng),作者:守望先生

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux中如何快速获取帮助信息

    对于一些新的或者不常用的命令和函数,我们常常需要查询使用方法或者参数详情,在linux下我们不需要去网上查询,完全可以利用linux自带的手册查看帮助信息。这就...

    编程珠玑
  • 这个编程技巧别说我没告诉你

    先举一个简单的例子,假设是这样的,一个小孩有两种状态,睡眠,清醒。睡的时候可能会撒尿,微笑,撒尿之后会转为清醒状态,而清醒的时候可能会笑,会吃,吃完之后会转会睡...

    编程珠玑
  • C语言入坑指南-数组之谜

    在C语言中,数组和指针似乎总是“暧昧不清”,有时候很容易把它们混淆。本文就来理一理数组和指针之间到底有哪些异同。

    编程珠玑
  • 第四天、婚礼上的谎言

           3对情侣参加婚礼,3个新郎为A、B、C,3个新娘为X、Y、Z,有人想知道究竟谁与谁结婚,于是就问新人中的三位,得到如下结果:A说他将和X结婚;X说...

    Jack_Cui
  • 以Linux man手册小论善用工具与少用记忆

    不知从什么时候起,开始刻意不去记忆一些东西,尤其是刻意不去花费时间和精力去记忆一些可以“查得到”的知识,比如不会去刻意记忆生僻的操作符优先级等。这可能是由于自己...

    雷大亨
  • Linux-man命令(17)

    man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息 可以按章节来搜索内容: man 1: 用户命令(...

    张诺谦
  • Linux下的man命令

    man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

    黑泽君
  • Linux的帮助文档命令

    Dream城堡
  • Linux 命令(0)—— man 命令

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Dabelv
  • 用分布式技术轻松化解数据库容量和性能瓶颈

    我们的目标是您的业务仅需要 2 个数据库就够了,一个用来部署正式业务,不增加存储成本基础上,能涵盖 OLTP&OLAP 场景,且可以覆盖多种数据类型;另一个,一...

    腾讯云数据库团队

扫码关注云+社区

领取腾讯云代金券