濮阳杆衣贸易有限公司

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

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

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

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

linux命令幫助,一般有2種,命令自身代碼里面帶有使用幫助說(shuō)明,這種一般很精簡(jiǎn),太長(zhǎng)了,程序自身的大小以及日常維護(hù)不方便。還有一種,就是帶有幫助文件,類似windows的chm格式文件。下面我說(shuō)下這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個(gè)例子,通過(guò)參數(shù)獲得命令使用幫助,這是我們經(jīng)常用的。 說(shuō)點(diǎn)題外話,開(kāi)始跑題了……,呵呵

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

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

什么是手冊(cè)頁(yè)(man-pages)

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

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

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

首先是目錄以及存放規(guī)范,linux文檔經(jīng)常放在:MANPATH環(huán)境變量指定的目錄中。一般在:/usr/share/man 這個(gè)目錄里面。這個(gè)目錄下面結(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類代表語(yǔ)言已經(jīng)地區(qū),編碼目錄

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


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

我們看下下面的表格:

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

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

舉個(gè)列子吧:

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

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

幫助文件格式:

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

[命令名稱.領(lǐng)域]:名字就是命令、函數(shù)或文件名的名稱,后面跟一個(gè)點(diǎn),再跟著領(lǐng)域字符。如:如果passwd命令說(shuō)明文檔,文件名命名是:passwd.1,加上目錄存放為:man1/passwd.1 ,如果對(duì)應(yīng)passwd格式說(shuō)明文檔,它將是:man5/passwd.5 ??聪孪旅胬樱?/p>

[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開(kāi)頭文件,從文件里面我們就知道它對(duì)應(yīng)于那些配置文件格式說(shuō)明了。
#pam.d.5.gz就是pam.d目錄結(jié)構(gòu)說(shuō)明  pam.5.gz是pam模塊結(jié)構(gòu)說(shuō)明

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

再啰嗦一下:

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

加p:表示POSIX Programmer 程序說(shuō)明文檔

加x:表示x windows桌面程序說(shuō)明文檔

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

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

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

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

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

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

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

手冊(cè)頁(yè)內(nèi)容

描 述

NAME

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

SYNOPSIS

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

DESCRIPTl0N

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

RETURN VALUES

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

EXIT STATUS

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

OPTIONS

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

FILES

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

USAGE

用程序的語(yǔ)言說(shuō)明的簡(jiǎn)明語(yǔ)法,如果有的話

ENVIROMENT

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

DIAGNOSTICS

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

NOTES

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

CONFORMING TO

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

SEE ALSO

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

BUGS

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

AUTHOR

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

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

[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)

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

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

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

標(biāo)簽:自貢 優(yōu)質(zhì)小號(hào) 滁州 丹東 百色 六盤(pán)水 武漢 鎮(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)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于linux shell命令快捷獲得系統(tǒng)幫助(一)[man-pages定義規(guī)范]的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    桂阳县| 建始县| 浑源县| 莒南县| 武义县| 维西| 定陶县| 阜城县| 延长县| 涡阳县| 和田市| 普定县| 汤阴县| 双柏县| 曲沃县| 清流县| 威海市| 岳池县| 田林县| 酉阳| 囊谦县| 石泉县| 定日县| 岚皋县| 呈贡县| 三原县| 资源县| 上栗县| 通榆县| 鹤岗市| 瑞丽市| 关岭| 南城县| 忻州市| 贺州市| 中阳县| 东兰县| 开化县| 阿拉善右旗| 道真| 同德县|