歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux下man幫助命令使用全解析

Linux下man幫助命令使用全解析

日期:2017/3/1 17:35:08   编辑:Linux技術

1.Linux提供了豐富的幫助手冊,當你需要查看某個命令的參數時不必到處上網查找,只要man一下即可。

所有的手冊頁都屬於一個特定的領域,用一個字符來表示。

Linux下最通用的領域及其名稱及說明如下:

領域 名稱 說明

1 用戶命令, 可由任何人啟動的。

2 系統調用, 即由內核提供的函數。

3 例程, 即庫函數。

4 設備, 即/dev目錄下的特殊文件。

5 文件格式描述, 例如/etc/passwd。

6 游戲, 不用解釋啦!

7 雜項, 例如宏命令包、慣例等。

8 系統管理員工具, 只能由root啟動。

9 其他(Linux特定的), 用來存放內核例行程序的文檔。

n 新文檔, 可能要移到更適合的領域。

o 老文檔, 可能會在一段期限內保留。

l 本地文檔, 與本特定系統有關的。


2.man的一些常用參數和用法

復制代碼代碼如下:
man -a cmd

打開所有領域內的同名幫助,例如 man fam ,你首先會進入一個fam(1M)的命令版fam幫助,你再按q鍵

就會進入FAM(3X),庫函數版的幫助

復制代碼代碼如下:
man -aw cmd

顯示所有cmd的所有手冊文件的路徑,如 man -aw fam 就是

復制代碼代碼如下:
/usr/share/man/man1/fam.1m.gz
/usr/share/man/man3/fam.3x.gz


man 領域代號 cmd

直接指定特定領域內搜索手冊頁,如 man 3 fam 直接進入庫函數版的幫助

復制代碼代碼如下:
man -M cmd

指定手冊文件的搜索路徑,如 man -M /home/mysql/man mysql 顯示的就是你安裝的mysql的幫助,

而不是系統自帶的舊版mysql的幫助

復制代碼代碼如下:
man cmd| col -b > cmd.txt

把man手冊信息輸出到文本文件

LANG=語言代號

復制代碼代碼如下:
man -w cmd

man 特定語言manpage文件的路徑

查看特定語言版本的手冊頁

例如,要查看mplayer的中文man

復制代碼代碼如下:
shell> LANG=zh
shell> man -w mplayer
/usr/share/man/zh/man1/mplayer.1.gz

新開一個shell窗口(或在原窗口 shell> LANG=en_US.UTF-8)

復制代碼代碼如下:
shell> man /usr/share/man/zh/man1/mplayer.1.gz


3.ubuntu默認是沒有安裝c語言的庫函數man手冊的

(1).添加庫函數手冊
ubuntu默認是沒有安裝c語言的庫函數man手冊的,所以你在man perror 和sendto之類的函數時會顯示沒有相關文檔的問題,這個問題讓我郁悶了我好久。解決方法:

復制代碼代碼如下:
sudo apt-get install manpages-dev

(2).讓man顯示中文
ubuntu源裡面已經包含了中文的man包,所以不用從其他地方down了,直接

復制代碼代碼如下:
sudo apt-get install manpages-zh

但是這樣man默認顯示的還不是中文,還需要以下兩步
a.把中文man包轉換成utf8格式的
新建一個腳本文件

復制代碼代碼如下:
gedit t.sh

把下面內容添加進去

復制代碼代碼如下:
#!/bin/bashcd /usr/share/man/zh_CN/for k in *docd $kfor i in *.gzdo j=`echo ${i%.gz}` gunzip $i iconv -f gb18030 -t utf8 $j >tmp mv tmp $j gzip $jdonecd ..done

然後

復制代碼代碼如下:
sudo ./t

b.修改man默認的語言

復制代碼代碼如下:
sudo gedit /etc/manpath.config

把裡面的所有的 /usr/share/man 改成 /usr/share/man/zh_CN
保存後退出,然後你再試一下man ls
(3).讓沒有中文幫助的顯示英文
做完上面第二部還不夠,這時你再man 一下一些c語言函數(不要用printf,socket之類比較有名的函數,這些已經有中文幫助了)的時候就會發現竟然沒有幫助,而剛才明明在第一步已經安裝了啊。這是因為你上面 把/usr/share/man 改成 /usr/share/man/zh_CN的操作使man只在中文幫助中搜索,如果沒有就直接放棄,因此還需要以下操作,才能讓man在沒有中文幫助的時候自動顯示英文的幫助,如果英文的也沒有,哪就真的沒有了。

復制代碼代碼如下:
sudo gedit /etc/manpath.config

然後搜索你剛才改過的地方,然後在其後面添加同樣的一行,只是後面的目錄還用原來的/usr/share/man,比如在修改後的

復制代碼代碼如下:
MANPATH_MAP /bin /usr/share/man/zh_CN

再添加一行

復制代碼代碼如下:
MANPATH_MAP /bin /usr/share/man

如果發現安裝過的系統中缺少很多手冊頁。
用以下命令搞定了

復制代碼代碼如下:
sudo apt-get install manpages
sudo apt-get install manpages-de
sudo apt-get install manpages-de-dev
sudo apt-get install manpages-dev

Copyright © Linux教程網 All Rights Reserved