濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 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朋友,我們拿到一個(gè)命令,不知道怎么樣使用,一般都會(huì)先看下命令默認(rèn)參數(shù)說明,然后再不清楚就是通過man命令查閱手冊。還是找不到方法,就網(wǎng)上搜索,最后不行就去大論壇發(fā)帖。由于很多時(shí)候發(fā)帖子估計(jì)要比較久有人回復(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個(gè)例子,通過參數(shù)獲得命令使用幫助,這是我們經(jīng)常用的。 說點(diǎ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ù)了。
還要說一點(diǎn),一般linux命令,都會(huì)用-h,或者 --help作為返回命令行幫助信息。 特別是--help最多,有的命令2個(gè)都支持。 這個(gè)已經(jīng)成了一種習(xí)慣了。遇到不會(huì)用的命令,不妨試試這2個(gè)參數(shù)。

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

什么是手冊頁(man-pages)

在windows下面,我們經(jīng)常把幫助手冊叫電子書,是chm文件。在linux下面的幫助手冊,一般叫man-pages。它們按照一定規(guī)律存放在linux一些文件夾里面,如果需要查閱,可以通過man-pages手冊索引命令查閱,常見有:info,man(本文主要講的),xman等等。說到這里,肯定有朋友會(huì)說:那有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 這個(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類代表語言已經(jīng)地區(qū),編碼目錄

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


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

我們看下下面的表格:

領(lǐng)域 描述 說明
1 用戶命令 可由任何人啟動(dòng)的,如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 文件格式描述說明在這個(gè)分類下
6 游戲 游戲的幫助文件
7 其他 包括 宏命令包、慣例等如 arp、boot、regex、unix utf8
8 系統(tǒng)管理 只能由root啟動(dòng) 如fdisk、fsck、renice、rpm、yum
9 內(nèi)核 用來存放內(nèi)核例行程序的文檔
n 新文檔 可能要移到更適合的領(lǐng)域
o 老文檔 可能會(huì)在一段期限內(nèi)保留
l 本地文檔 與本特定系統(tǒng)有關(guān)的

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

舉個(gè)列子吧:

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

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

幫助文件格式:

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

[命令名稱.領(lǐng)域]:名字就是命令、函數(shù)或文件名的名稱,后面跟一個(gè)點(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)說明

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

再啰嗦一下:

細(xì)心朋友一定看到個(gè)問題,上面顯示: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)容也有一個(gè)格式規(guī)范呢。

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

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

你通過linux索引方法,是可以找得到的。 但是:它不是一個(gè)規(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)生的錯(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)類型的。我們舉例說明下:

[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然后通過自帶命令查看文檔格式如上圖,這些你看到用到好多命令,顯示一個(gè)文檔,在下一節(jié)文檔查詢里面我們會(huì)知道原因的。

這里主要說的是linux文檔結(jié)構(gòu),包括目錄,命名,已經(jīng)文檔名稱,格式等。這些不是強(qiáng)制的,系統(tǒng)也不好強(qiáng)制檢測你自己的文檔是否滿足。但是,你如果有自己文檔想加入系統(tǒng)索引,按照規(guī)定去做,才會(huì)讓以后管理不止混亂了。俗話說:無規(guī)律不成方圓。是這個(gè)理。呵呵,今天說的比較啰嗦,不知道有沒有說清楚,這次說的比較理論的,下一節(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)信息告之我們,我們將及時(shí)溝通與處理。本站內(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)民參考!
  • 推薦文章
    视频| 阿城市| 金堂县| 泗阳县| 定结县| 玛曲县| 麻栗坡县| 唐河县| 南平市| 鄂托克旗| 龙南县| 西和县| 江西省| 德阳市| 昌平区| 桂阳县| 河间市| 广南县| 连城县| 濮阳市| 利津县| 汪清县| 温宿县| 西华县| 道真| 张家港市| 扎赉特旗| 沭阳县| 元阳县| 吉林市| 屯门区| 凤庆县| 文成县| 久治县| 墨竹工卡县| 马关县| 乐亭县| 丰都县| 盐津县| 黔南| 滕州市|