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