linux系統管理(1)---man

一、目的

    在linux的使用過程中,如果忘記某個命令的使用方法或者某個接口函數的定義,我們一般都會使用man命令;manmanual的縮寫,man命令是linux在線幫助文檔的接口;熟練掌握man命令可以幫助我們提升使用linux的能力。

    本文將詳細介紹man命令的使用方法相關內容。


二、pagersection

    在介紹man之前先理解兩個概念:pagersection

    pager是程序、函數的名稱,也就是待查找的程序或者函數的名稱。例如:ls(程序)mkdir(函數)

    section是幫助文檔的分類,每個類別描述特定內容的幫助信息,目前共有8section,每個section的含義如下:

    section1、用戶程序;

    section2、系統調用;

    section3、庫函數調用;

    section4、特定文件(通常位於/dev目錄下)

    section5、文件格式;

    section6、遊戲;

    section7、其他項;

    section8、系統管理;

    一個pager可能在多個section中有描述,例如:mkdir既是程序也是系統調用,因此section1section2中都mkdir的描述。section1側重描述mkdir程序的使用方法,而section2側重描述mkdir行參和返回值的含義。

    通常情況,幫助文檔放在/usr/share/man目錄下,section1-section8分別存放在man1-man88個目錄中;爲了節省磁盤空間,存放的都是壓縮格式的幫助文檔。MANPATH環境變量指定了幫助文檔存放的路徑,並且使用manpath命令也可以顯示存放路徑。

    如果一個pager在多個section中有描述的話,默認顯示查找到的第一個section的幫助文檔;如果想要查看指定section的幫助文檔,可以在man的命令行選項中指定section號,例如:man 2 mkdir;如果需要查看所有section的幫助文檔,可以使用-a選項,例如:man -a mkdir


三、幫助文檔的組織結構

    每個section中的幫助文檔一般包含以下內容:

    1、名字(name):名稱及簡單描述;

    2、概要(synopsis):語法的完整性描述;

    3、配置信息(configuration):配置信息;

    4、描述(description)pager的描述;

    5、選項(options):命令行選項的詳細信息;

    6、退出值(exit status):命令退出值;

    7、返回值(return value):函數返回值;

    8、錯誤(errors):錯誤描述;

    9、環境變量(environment):命令相關的環境變量;

    10、文件(files):相關的文件信息,例如配置文件;

    11、版本(versions):版本信息;

    12、遵循規則(conforming to):遵循規則描述;

    13、提示信息(notes):使用提示信息;

    14、漏洞(bugs):已知缺陷描述;

    15、示例(example):使用樣例;

    16、作者(authors):作者列表;

    17、參閱(see also):相關pager列表;

    以上只是建議的文檔組織結構,不需要實現全部的內容,也不需要完全按照順序編寫;同時,作者也可以根據自己的需要增加自定義的章節,例如歷史信息(history)、版權(copyright)等。

    在幫助文檔的概述(synopsis)中,通常粗體表示重點內容;斜體表示使用合適的參數替換;[-abc]表示所有選項都是可選的;-a|-b表示-a-b選項不能同時使用;...表示可以是多個內容,例如:man...表示可以pager可以是多個(man ls mkdir);同樣,find[path...]表示path可以是多個(find / .)


四、查找原理

    幫助文檔有兩種格式:文本文件和壓縮文件,壓縮文件是文本文件經過壓縮後得到的。通常,壓縮文件存儲在/usr/share/man路徑下;文件文件存儲在/var/cache/man路徑下,但是,也可以不存儲文本文件。

    爲了提高查找效率,系統使用mandb命令把幫助文檔建立了一個索引文件index.db;通常索引文件存儲在/var/cache/man路徑下。在使用man命令查找pager的幫助文檔時,首先在索引文件中查找;如果查找不到,再去幫助文檔的存儲路徑下查找。


五、常用man命令選項

    man命令的語法簡單描述爲:man[option] [section] pager...

    option可以在命令行中指定,也可以在MANOPT環境變量中設置,並且MANOPT環境變量的優先級高於命令行,-D可以關閉MANOPT中的選項。

    1-f選項:顯示全字符匹配pager名稱的概要(synopsis)內容,相當於whatis命令;

    2-k選項:顯示部分匹配pager名稱的概要(synopsis)的內容,相當於apropos命令;

    3-K選項:顯示包含pager關鍵字的幫助文檔;

    4-l選項:顯示本地幫助文檔,而不是系統默認的幫助文檔;

    5-w選項:顯示幫助文檔(壓縮格式)的路徑;

    6-W選項:顯示幫助文檔(文本格式)的路徑;

    7-I選項:pager大小寫敏感;

    8-a選項:顯示所有section中的幫助文檔;

    9-m OS選項:顯示指定操作系統OS的幫助文檔;

    10-M path選項:顯示指定路徑path的幫助文檔;


六、總結

    man命令是linux在線幫助文檔的入口,靈活掌握man可以幫助解決linux環境下遇到的大多數問題。通過使用man命令也可以增強獨立解決問題的能力,最終很大程度上提升使用linux的能力。


版權聲明:

    原創作品,如非商業性轉載,請註明出處;如商業性轉載出版,請與作者聯繫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章