1.Linux提供了豐富的幫助手冊(cè),當(dāng)你需要查看某個(gè)命令的參數(shù)時(shí)不必到處上網(wǎng)查找,只要man一下即可。
所有的手冊(cè)頁都屬于一個(gè)特定的領(lǐng)域,用一個(gè)字符來表示。
Linux下最通用的領(lǐng)域及其名稱及說明如下:
領(lǐng)域 名稱 說明
1 用戶命令, 可由任何人啟動(dòng)的。
2 系統(tǒng)調(diào)用, 即由內(nèi)核提供的函數(shù)。
3 例程, 即庫函數(shù)。
4 設(shè)備, 即/dev目錄下的特殊文件。
5 文件格式描述, 例如/etc/passwd。
6 游戲, 不用解釋啦!
7 雜項(xiàng), 例如宏命令包、慣例等。
8 系統(tǒng)管理員工具, 只能由root啟動(dòng)。
9 其他(Linux特定的), 用來存放內(nèi)核例行程序的文檔。
n 新文檔, 可能要移到更適合的領(lǐng)域。
o 老文檔, 可能會(huì)在一段期限內(nèi)保留。
l 本地文檔, 與本特定系統(tǒng)有關(guān)的。
2.man的一些常用參數(shù)和用法
man -a cmd
打開所有領(lǐng)域內(nèi)的同名幫助,例如 man fam ,你首先會(huì)進(jìn)入一個(gè)fam(1M)的命令版fam幫助,你再按q鍵
就會(huì)進(jìn)入FAM(3X),庫函數(shù)版的幫助
man -aw cmd
顯示所有cmd的所有手冊(cè)文件的路徑,如 man -aw fam 就是
/usr/share/man/man1/fam.1m.gz
/usr/share/man/man3/fam.3x.gz
man 領(lǐng)域代號(hào) cmd
直接指定特定領(lǐng)域內(nèi)搜索手冊(cè)頁,如 man 3 fam 直接進(jìn)入庫函數(shù)版的幫助
man -M cmd
指定手冊(cè)文件的搜索路徑,如 man -M /home/mysql/man mysql 顯示的就是你安裝的mysql的幫助,
而不是系統(tǒng)自帶的舊版mysql的幫助
man cmd| col -b > cmd.txt
把man手冊(cè)信息輸出到文本文件
LANG=語言代號(hào)
man -w cmd
man 特定語言manpage文件的路徑
查看特定語言版本的手冊(cè)頁
例如,要查看mplayer的中文man
shell> LANG=zh
shell> man -w mplayer
/usr/share/man/zh/man1/mplayer.1.gz
新開一個(gè)shell窗口(或在原窗口 shell> LANG=en_US.UTF-8)
shell> man /usr/share/man/zh/man1/mplayer.1.gz
3.ubuntu默認(rèn)是沒有安裝c語言的庫函數(shù)man手冊(cè)的
(1).添加庫函數(shù)手冊(cè)
ubuntu默認(rèn)是沒有安裝c語言的庫函數(shù)man手冊(cè)的,所以你在man perror 和sendto之類的函數(shù)時(shí)會(huì)顯示沒有相關(guān)文檔的問題,這個(gè)問題讓我郁悶了我好久。解決方法:
sudo apt-get install manpages-dev
(2).讓man顯示中文
ubuntu源里面已經(jīng)包含了中文的man包,所以不用從其他地方down了,直接
sudo apt-get install manpages-zh
但是這樣man默認(rèn)顯示的還不是中文,還需要以下兩步
a.把中文man包轉(zhuǎn)換成utf8格式的
新建一個(gè)腳本文件
gedit t.sh
把下面內(nèi)容添加進(jìn)去
#!/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默認(rèn)的語言
sudo gedit /etc/manpath.config
把里面的所有的 /usr/share/man 改成 /usr/share/man/zh_CN
保存后退出,然后你再試一下man ls
(3).讓沒有中文幫助的顯示英文
做完上面第二部還不夠,這時(shí)你再man 一下一些c語言函數(shù)(不要用printf,socket之類比較有名的函數(shù),這些已經(jīng)有中文幫助了)的時(shí)候就會(huì)發(fā)現(xiàn)竟然沒有幫助,而剛才明明在第一步已經(jīng)安裝了啊。這是因?yàn)槟闵厦?把/usr/share/man 改成 /usr/share/man/zh_CN的操作使man只在中文幫助中搜索,如果沒有就直接放棄,因此還需要以下操作,才能讓man在沒有中文幫助的時(shí)候自動(dòng)顯示英文的幫助,如果英文的也沒有,哪就真的沒有了。
sudo gedit /etc/manpath.config
然后搜索你剛才改過的地方,然后在其后面添加同樣的一行,只是后面的目錄還用原來的/usr/share/man,比如在修改后的
MANPATH_MAP /bin /usr/share/man/zh_CN
再添加一行
MANPATH_MAP /bin /usr/share/man
如果發(fā)現(xiàn)安裝過的系統(tǒng)中缺少很多手冊(cè)頁。
用以下命令搞定了
sudo apt-get install manpages
sudo apt-get install manpages-de
sudo apt-get install manpages-de-dev
sudo apt-get install manpages-dev