1. 程式人生 > >linux man 命令 詳解

linux man 命令 詳解

剛接觸linux的時候,都會使用man來查閱一些命令的幫助資訊。但是也都只是使用"man 
命令名稱"這樣簡單的格式。其實,man還有不少其他小技巧,在這和大家分享一下。


當你列出write時,它可能代表了Linux裡的使用者命令或系統呼叫,如果我只是想了解write這個系統呼叫的作用,而對write命令的命令格式沒有興趣,那麼我該如何告訴man呢?

man命令後面可以加一個數字引數,表示具體的範圍定位:


數字"1"表示使用者命令

數字"2"表示系統呼叫

數字"3"表示C語言庫函式

數字"4"表示裝置或特殊檔案

數字"5"表示檔案格式和規則

數字"6"表示遊戲及其他

數字"7"表示巨集、包及其他雜項

數字"8"表示系統管理員相關的命令

知道了這些,我就可以用man 2 write來檢視關於write系統呼叫的幫助資訊了。

再舉幾個例子,比如你man 
named,你觀察螢幕左上角會發現NAMED(8)的字樣,這就說明這個named是包含在"系統管理員相關的命令"之中的。

再比如man yum.conf,你會發現yum.conf(5) 
,我想你現在應該知道它的寓意了。下次你可以直接man 
5再加一個配置檔案,來查查這個檔案的配置方法了。


給大家推薦一個man的非常好的網站,

http://www.linuxmanpages.com/,在這裡有非常全的Linux的man資訊,你可以分1-8來檢視相應的manual 
page!

3 我的這些man資訊都存在Linux系統的哪裡?

[[email protected] ~]# manpath
/usr/kerberos/man:/usr/local/share/man:/usr/share/man/en:/usr/share/man

用manpath命令就可以看到了,當你man的時候,man會到如上這些路徑去尋找對應的幫助資訊。如果沒有的話,那麼man會抱怨:

[[email protected] ~]# man rocrocket
No manual entry for rocrocket

呵呵

4 如何重新建立man的資料庫?

使用makewhatis命令就可以!

5 既然有man資料庫,我是否可以像搜尋引擎那樣搜出裡面的關鍵字?

可以。這樣做:

$man -k roc

使用man的-k選項,就可以列出所有包含roc字串的man幫助資訊。

其實,更深一步,man -k和apropos命令作用相同。你完全可以用apropos 
roc來代替man -k roc。

其實apropos是一個指令碼檔案,它不是ELF可執行檔案。所以你完全可以用vi 
/usr/bin/apropos看看它到底是如何實現