主頁 > 知識庫 > linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]

linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]

熱門標(biāo)簽:怎么在百度地圖標(biāo)注公司的位置 德陽400電話申請 百度地圖標(biāo)注直線距離 測繪地圖標(biāo)注名稱 商機(jī)地圖標(biāo)注 外呼電話系統(tǒng)怎么操作 智能電銷機(jī)器人有用嗎 天津電話外呼系統(tǒng)排名 鶴崗400電話申請

作為剛剛學(xué)習(xí)linux朋友,我們拿到一個命令,不知道怎么樣使用,一般都會先看下命令默認(rèn)參數(shù)說明,然后再不清楚就是通過man命令查閱手冊。還是找不到方法,就網(wǎng)上搜索,最后不行就去大論壇發(fā)帖。由于很多時候發(fā)帖子估計要比較久有人回復(fù)。久而久之,對學(xué)習(xí)linux的熱情被怠慢下來了。 其實(shí),這也是學(xué)習(xí)linux的最大困難。

linux命令幫助,一般有2種,命令自身代碼里面帶有使用幫助說明,這種一般很精簡,太長了,程序自身的大小以及日常維護(hù)不方便。還有一種,就是帶有幫助文件,類似windows的chm格式文件。下面我說下這2種怎么樣查閱。

一、程序內(nèi)在幫助信息


例如:

[chengmo@centos5 ~]$ cat --help
Usage: cat [OPTION] [FILE]...
Concatenate FILE(s), or standard input, to standard output.
 
  -A, --show-all           equivalent to -vET
#......省略
 
[chengmo@centos5 ~]$ man -h
man, version 1.6d
 
usage: man [-adfhktwW] [section] [-M path] [-P pager] [-S list]
        [-m system] [-p string] name ...
#......省略

上面是2個例子,通過參數(shù)獲得命令使用幫助,這是我們經(jīng)常用的。 說點(diǎn)題外話,開始跑題了……,呵呵

我想說下命令常見參數(shù)規(guī)律,一般如果帶參數(shù)是一個字符,那么就用:一個”-“連接,如果后面參數(shù)是多個字符就用:”--“連接。是不是一個”-“后面不能接多個字符呢?這點(diǎn)就是linux命令解析靈活性了,如果你把多個字符用一個”-“連接,它會將它分割為多個參數(shù)。如:ls –al 等價于 ls –a –l ,如果你用:ls –-al 那么它將把a(bǔ)l作為整體參數(shù)了。
還要說一點(diǎn),一般linux命令,都會用-h,或者 --help作為返回命令行幫助信息。 特別是--help最多,有的命令2個都支持。 這個已經(jīng)成了一種習(xí)慣了。遇到不會用的命令,不妨試試這2個參數(shù)。

二、獲得命令外部幫助文件(man-pages)

什么是手冊頁(man-pages)

在windows下面,我們經(jīng)常把幫助手冊叫電子書,是chm文件。在linux下面的幫助手冊,一般叫man-pages。它們按照一定規(guī)律存放在linux一些文件夾里面,如果需要查閱,可以通過man-pages手冊索引命令查閱,常見有:info,man(本文主要講的),xman等等。說到這里,肯定有朋友會說:那有windows下面的chm方便嗎,搜索,查詢,以及表現(xiàn)形式怎么樣的呢?在shell終端查看,是不是都是一大篇大篇文字,單獨(dú)枯燥,密密麻麻的。 哈哈,我可以說的是,它內(nèi)容表現(xiàn)還很豐富,支持普通文字,表格,圖片,還有就是搜索定位到需要信息超快。 一定比在windows里面通過鼠標(biāo)點(diǎn)擊快幾倍了。

那么它為什么管理方便,索引速度快呢。接下來,我們看一下man-pages也的規(guī)范了。

man-pages目錄及文件名規(guī)范定義
存放目錄:

首先是目錄以及存放規(guī)范,linux文檔經(jīng)常放在:MANPATH環(huán)境變量指定的目錄中。一般在:/usr/share/man 這個目錄里面。這個目錄下面結(jié)構(gòu)還有定義的:

[chengmo@centos5 man]$ ls
bg  el  fr            hu            it.UTF-8  man1   man2x  man4   man6   man8   manl  pl.ISO8859-2  ro         sk  zh_CN
cs  en  fr.ISO8859-1  id            ja        man1p  man3   man4x  man6x  man8x  mann  pl.UTF-8      ru         sl  zh_TW
da  es  fr.UTF-8      it            ko        man1x  man3p  man5   man7   man9   nl    pt            ru.KOI8-R  sv
de  fi  hr            it.ISO8859-1  man0p     man2   man3x  man5x  man7x  man9x  pl    pt_BR         ru.UTF-8   tr
#可以分為strong>2類/strong>,一類是man[*]目錄,一類是:en,zh_CN,pl.ISO8859-2類代表語言已經(jīng)地區(qū),編碼目錄

先說一下,man[*]這類目錄表示意思。linux幫助文檔,一個特別的有意思的是,按照文檔表示不同類型,分領(lǐng)域的(也就是分類別),過會我們會說這個類別按照什么分了。還有就是類似:zh_CN pl.ISO8859-2這些。文檔還分語言.地域.字符編碼 ??梢灾С纸y(tǒng)一命令,多個語言版本的文檔,并且地域可以不一樣,還可以指定字符集。如:zh_TW.big5 這個意思就是:中文_臺灣地區(qū).使用big5字符集編碼的文檔。


文檔領(lǐng)域區(qū)分方法(就是類別)

我們看下下面的表格:

領(lǐng)域 描述 說明
1 用戶命令 可由任何人啟動的,如env、cat、man、touch文檔
2 系統(tǒng)調(diào)用或內(nèi)核函數(shù) 即由內(nèi)核提供的函數(shù) 如link、sethostname、mkdir
3 庫程序 即庫函數(shù) 如acosh、asctime、btree、locale
4 與設(shè)備有關(guān)的信息 即/dev目錄下的特殊文件 如zero null sda
5 文件格式描述 如/etc/passwd 文件格式描述說明在這個分類下
6 游戲 游戲的幫助文件
7 其他 包括 宏命令包、慣例等如 arp、boot、regex、unix utf8
8 系統(tǒng)管理 只能由root啟動 如fdisk、fsck、renice、rpm、yum
9 內(nèi)核 用來存放內(nèi)核例行程序的文檔
n 新文檔 可能要移到更適合的領(lǐng)域
o 老文檔 可能會在一段期限內(nèi)保留
l 本地文檔 與本特定系統(tǒng)有關(guān)的

如果文檔屬于那個類型的,它就放到 MANPATH/語言_區(qū)域.字符集/man[n]目錄下面。 沒有區(qū)域語言,代表是en英文文檔。就直接放到:MANPATH/man[n]下面,基本上大部分文檔都是這個下面。

舉個列子吧:

linux下面有個命令是:passwd 修改密碼信息的,每個用戶都可以調(diào)用,所以它會放到man1/目錄下面

但是同時,/etc/passwd有個保存用戶賬戶信息配置文件,它的格式及說明信息文檔,將放到/man5目錄下了。這樣按照領(lǐng)域(以后都叫這個了,呵呵)區(qū)分,不會出現(xiàn)相同名稱文件找錯的情況了。 上面提到的:1,2,3,4,5,7,8這些類型是我們經(jīng)常用到的。 如果我想知道/dev/null 設(shè)備的意思,我可以到:man4這個目錄下面找了。

幫助文件格式:

剛才說了,目錄存放格式,幫助文件一樣有它的格式的。首先是命名格式:

[命令名稱.領(lǐng)域]:名字就是命令、函數(shù)或文件名的名稱,后面跟一個點(diǎn),再跟著領(lǐng)域字符。如:如果passwd命令說明文檔,文件名命名是:passwd.1,加上目錄存放為:man1/passwd.1 ,如果對應(yīng)passwd格式說明文檔,它將是:man5/passwd.5 。看下下面例子:

[chengmo@centos5 man5]$ ls p*      
pam.5.gz       pam_env.conf.5.gz  passwd.5.gz  png.5.gz  
pam.conf.5.gz  pam_krb5.5.gz      pbm.5.gz     pnm.5.gz  
pam.d.5.gz     pam_ldap.5.gz      pgm.5.gz     ppm.5.gz  
#/usr/share/man/man5 下面所有以p開頭文件,從文件里面我們就知道它對應(yīng)于那些配置文件格式說明了。
#pam.d.5.gz就是pam.d目錄結(jié)構(gòu)說明  pam.5.gz是pam模塊結(jié)構(gòu)說明

從這個里面看,.gz結(jié)尾,看來是通過gzip壓縮過的,linux系統(tǒng)為節(jié)省文檔存儲空間,自帶文檔都經(jīng)過壓縮的。只是查看時候,我們需要解壓然后查看。文檔內(nèi)容不會改變。

再啰嗦一下:

細(xì)心朋友一定看到個問題,上面顯示:man目錄下面結(jié)構(gòu)例子里面,除了man[n]以及語言地區(qū)目錄。還有一類目錄:man1,man0p,man1p,man1x 這里說明下:

加p:表示POSIX Programmer 程序說明文檔

加x:表示x windows桌面程序說明文檔

0p:表示POSIX Programmer 一些c的頭文件庫,如:tcp.h,ulimit.h等說明文檔

man-pages文件內(nèi)容格式規(guī)范

能夠快捷方便查詢linux文檔,除了目錄規(guī)范以及命名規(guī)范外。對于文檔的內(nèi)容也有一個格式規(guī)范呢。

一個文本文件,又不是用word格式,基本都是ascii字符,還有什么規(guī)范?

可能朋友會這么說,是的,它確實(shí)是文本文件,編輯一個隨便的txt文件,就可以是一個linux文檔,如:你寫了個:testhellow.sh腳本,然后你寫了一段文本存為:man/man1/testhellow.1文件。這個就算一個文檔了。

你通過linux索引方法,是可以找得到的。 但是:它不是一個規(guī)范的文檔。

規(guī)范格式文檔是:

手冊頁內(nèi)容

描 述

NAME

程序或者命令的名稱、手冊節(jié)號及發(fā)布日期

SYNOPSIS

怎樣調(diào)用命令,帶有所有選項(xiàng)和參數(shù)的完整列表

DESCRIPTl0N

命令及其用法的簡短小結(jié)

RETURN VALUES

程序或者庫函數(shù)返回值,以及產(chǎn)生特定返回值的環(huán)境

EXIT STATUS

經(jīng)常用來替代服TURNVALUS

OPTIONS

按字母順序排列的選項(xiàng)和參數(shù)清單,如果有的話

FILES

命令使用的或者能使用的文件清單

USAGE

用程序的語言說明的簡明語法,如果有的話

ENVIROMENT

命令使用的或者能使用的環(huán)境變量清單

DIAGNOSTICS

命令產(chǎn)生的錯誤信息及其解決辦法的清單

NOTES

不能夠歸入其他任何一種類別下的所有信息

CONFORMING TO

列出程序遵循的任何標(biāo)難,比如PoSIX或ISO

SEE ALSO

和命令有關(guān)的交叉索引和信息

BUGS

指出己知的bug和錯誤功能,以及怎樣和程序的作者聯(lián)系修正它們

AUTHOR

命令的作者或者維護(hù)者的名字,可能帶有電子郵件地址或URL地址

規(guī)范的文檔,如果有相關(guān)描述,都會包含上面這些節(jié)點(diǎn)類型的。我們舉例說明下:

[chengmo@centos5 ~]$ gtbl cat.1  | gtbl | groff -Tascii -man     
CAT(1)                           User Commands                          CAT(1)
 
NAME
       cat - concatenate files and print on the standard output
 
SYNOPSIS
       cat [OPTION] [FILE]...
 
DESCRIPTION
       Concatenate FILE(s), or standard input, to standard output.
省略....
 
EXAMPLES
       cat f - g
省略....
 
 
AUTHOR
       Written by Torbjorn Granlund and Richard M. Stallman.
 
REPORTING BUGS
       Report bugs to bug-coreutils@gnu.org>.
 
COPYRIGHT
       Copyright (C) 2006 Free Software Foundation, Inc.
省略....
SEE ALSO
       The full documentation for cat is maintained as a Texinfo  manual.   If
省略....
 
cat 5.97                          March 2007                            CAT(1)

這里自己解壓了一個cat.1.gz然后通過自帶命令查看文檔格式如上圖,這些你看到用到好多命令,顯示一個文檔,在下一節(jié)文檔查詢里面我們會知道原因的。

這里主要說的是linux文檔結(jié)構(gòu),包括目錄,命名,已經(jīng)文檔名稱,格式等。這些不是強(qiáng)制的,系統(tǒng)也不好強(qiáng)制檢測你自己的文檔是否滿足。但是,你如果有自己文檔想加入系統(tǒng)索引,按照規(guī)定去做,才會讓以后管理不止混亂了。俗話說:無規(guī)律不成方圓。是這個理。呵呵,今天說的比較啰嗦,不知道有沒有說清楚,這次說的比較理論的,下一節(jié)實(shí)際檢索文檔方面的東西。

您可能感興趣的文章:
  • 詳解shell腳本的編寫規(guī)范

標(biāo)簽:自貢 優(yōu)質(zhì)小號 滁州 丹東 百色 六盤水 武漢 鎮(zhèn)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]》,本文關(guān)鍵詞  linux,shell,命令,快捷,獲得,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章