linux下man手冊的安裝和使用
linux man手冊
Linux提供了豐富的幫助手冊,當你需要檢視某個命令的引數時不必到處上網查詢,只要man一下即可。 Linux 的man手冊共有以下幾個章節:
章節 | 名稱 | 描述 |
---|---|---|
1 | Standard commands(標準命令) | Executable programs or shell commands, 普通的命令 |
2 | System calls(系統呼叫) | System calls (functions provided by the kernel)系統呼叫,如open,write之類的(通過這個,至少可以很方便的查到呼叫這個函式,需要加什麼標頭檔案) |
3 | Libraryfunctions(庫函式) | Library calls (functions within program libraries), 庫函式,如printf,fread |
4 | Specialdevices(裝置說明) | Special files (usually found in /dev), 特殊檔案,也就是/dev下的各種裝置檔案 |
5 | File formats(檔案格式) | File formats and conventions eg /etc/passwd, 指檔案的格式,比如passwd, 就會說明這個檔案中各個欄位的含義 |
6 | Games andtoys(遊戲和娛樂) | 給遊戲留的,由各個遊戲自己定義 |
7 | Miscellaneous(雜項) | Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7),附件還有一些變數,比如向environ這種全域性變數在這裡就有說明 |
8 | AdministrativeCommands(管理員命令) | System administration commands (usually only for root), 系統管理用的命令,這些命令只能由root使用,如ifconfig |
9 | Kernel routines [Non standard] |
安裝man手冊
Ubuntu安裝
Ubuntu預設是沒有完全安裝man手冊的
apt-get install manpages-de manpages-de-dev manpages-dev glibc-doc manpages-posix-dev manpages-posix
- 1
可以直接執行如下命令安裝
sudo apt-get install manpages-zh
- 1
CentOS安裝
man手冊
yum install man
- 1
man中文安裝包
yum install manpages-zh
- 1
如果查不到manpages-zh中文包,則可以使用如下命令搜尋
yum list |grep man.*zh
- 1
man-pages-zh-CN.noarch 1.5.2-4.el7 @base
由此可以找到以上安裝包,如果找不到,執行 yum -y update 更新安裝包。
執行安裝命令
sudo yum install man-pages-zh-CN.noarch
- 1
原始碼安裝
安裝man手冊
原始碼從這裡下載
下載後解壓縮,從終端進入解壓後的資料夾,輸入命令:
sudo make install
- 1
這個命令是把man安裝到/user/man目錄下面的,這樣就已經成功的安裝了man
但是如果你不想安裝, 我們可以直接在解壓後的目錄使用
假設解壓後文件夾路徑是:/home/man,如果不想安裝,可以用:
man –M /home/man + 所查詢的命令
- 1
解釋:man -M 路徑 定義一組查詢man手冊頁的目錄。如果沒有指定此引數,系統環境變數 MANPATH將使用。 如果查無到此環境變數,則按預設 /etc/man.config 檔案中指定的查詢。一個空的 MANPATH 子字 符串表示使用預設清單。
安裝中文語言包手冊
在安裝之前,執行locale 命令來檢視自己的語言環境是什麼,主要有影響的是LC_ALL,LC_CTYPE 和 LANG 變數的值。
如果語言環境是 zh_CN.UTF-8,可以執行make u8 && makeinstall-u8;如果語言環境是GB2312,GBK 或者 GB18030,可以執行 make gb && makeinstall-gb;
或者,可以下載對應的rpm包來安裝,同樣簡單。對於zh_CN.UTF-8,應當安裝man-pages-zh_CN-1.x,對於 GB2312,GBK,GB18030,應當安裝 man-pages-zh_CN-gb-1.x。請參閱討論版上關於不同發行版的系統與其預設中文編碼的說明。
環境變數配置
我們前面安裝了中英文的man包, 可以通過設定中英文顯示語言來設定其顯示
如果希望終端顯示為中文, 則可以通過設定LANG和LANGUAGE變數來更新語言環境
在~/.bashrc中設定
# chineseLANG="zh_CN.UTF-8"LANGUAGE="zh_CN:zh"
- 1
- 2
- 3
英文則設定
# englishLANG="en_US.UTF-8"LANGUAGE="en_US:en"
- 1
- 2
- 3
但是中文翻譯的不太好, 我們多數情況下還是希望使用英文的, 而更改環境變數的方式總是很麻煩, 有什麼方式可以一勞永逸呢.
首先差找到我們的man手冊安裝在哪裡
可以使用sudo find / -name man
查詢
我的man手冊安裝在了/usr/share/man下
其中zh_開頭的就是中文包的man手冊,
zh_CN簡體中文
zh_HK香港繁體
zh_TW臺灣繁體
我們可以使用-M選項指定man手冊
比如使用
man -M /usr/share/man/zh_CN/ 2 read
就可以使用中文手冊檢視read系統呼叫
下面我們為其新增一個別名cman, 這樣我們可以很方便的使用中文的man手冊
在~/.bashrc中新增
alias cman='man -M /usr/share/man/zh_CN'
- 1
這樣以來我們的man是英文的, 而cman則是一箇中文的man手冊
man手冊的使用
我們輸入 man ls,它會在最左上角顯示“LS(1)”,在這裡,“LS”表示手冊名稱,而“(1)”表示該手冊位於第一節章(對應編號, 沒個編號對應一個章節)
同樣,我們輸入“man ifconfig”它會在最左上角顯示“IFCONFIG(8)”。
但是有些名稱可能對應很多章節的資訊,因此可以這樣輸入命令:“man [章節號] 手冊名稱”, 來指定某個章節比如我們前面的man 2 read
就是檢視第2章節(系統呼叫)中的read
而我們可以使用-f選項來檢視命令所在的章節