linux自助安裝man手冊,就是這麼簡單!

  • 2019 年 11 月 13 日
  • 筆記

前言

在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++標準庫】獲取電子版,僅供學習交流。