最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年10月14日 21:41:20   投稿:mdxy-dxy  
linux命令幫助,一般有2種,命令自身代碼里面帶有使用幫助說明,這種一般很精簡,太長了,程序自身的大小以及日常維護不方便。還有一種,就是帶有幫助文件,類似windows的chm格式文件。下面我說下這2種怎么樣查閱

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

linux命令幫助,一般有2種,命令自身代碼里面帶有使用幫助說明,這種一般很精簡,太長了,程序自身的大小以及日常維護不方便。還有一種,就是帶有幫助文件,類似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)常用的。 說點題外話,開始跑題了……,呵呵

我想說下命令常見參數(shù)規(guī)律,一般如果帶參數(shù)是一個字符,那么就用:一個”-“連接,如果后面參數(shù)是多個字符就用:”--“連接。是不是一個”-“后面不能接多個字符呢?這點就是linux命令解析靈活性了,如果你把多個字符用一個”-“連接,它會將它分割為多個參數(shù)。如:ls –al 等價于 ls –a –l ,如果你用:ls –-al 那么它將把al作為整體參數(shù)了。
還要說一點,一般linux命令,都會用-h,或者 --help作為返回命令行幫助信息。 特別是--help最多,有的命令2個都支持。 這個已經(jīng)成了一種習慣了。遇到不會用的命令,不妨試試這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終端查看,是不是都是一大篇大篇文字,單獨枯燥,密密麻麻的。 哈哈,我可以說的是,它內(nèi)容表現(xiàn)還很豐富,支持普通文字,表格,圖片,還有就是搜索定位到需要信息超快。 一定比在windows里面通過鼠標點擊快幾倍了。

那么它為什么管理方便,索引速度快呢。接下來,我們看一下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ù)或文件名的名稱,后面跟一個點,再跟著領(lǐng)域字符。如:如果passwd命令說明文檔,文件名命名是:passwd.1,加上目錄存放為:man1/passwd.1 ,如果對應passwd格式說明文檔,它將是: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開頭文件,從文件里面我們就知道它對應于那些配置文件格式說明了。
#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)容不會改變。

再啰嗦一下:

細心朋友一定看到個問題,上面顯示: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ī)范?

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

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

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

手冊頁內(nèi)容

描 述

NAME

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

SYNOPSIS

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

DESCRIPTl0N

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

RETURN VALUES

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

EXIT STATUS

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

OPTIONS

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

FILES

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

USAGE

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

ENVIROMENT

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

DIAGNOSTICS

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

NOTES

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

CONFORMING TO

列出程序遵循的任何標難,比如PoSIX或ISO

SEE ALSO

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

BUGS

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

AUTHOR

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

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

[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)文檔名稱,格式等。這些不是強制的,系統(tǒng)也不好強制檢測你自己的文檔是否滿足。但是,你如果有自己文檔想加入系統(tǒng)索引,按照規(guī)定去做,才會讓以后管理不止混亂了。俗話說:無規(guī)律不成方圓。是這個理。呵呵,今天說的比較啰嗦,不知道有沒有說清楚,這次說的比較理論的,下一節(jié)實際檢索文檔方面的東西。

您可能感興趣的文章:

相關(guān)文章

  • Linux Shell中curl和wget使用代理IP的方法教程

    Linux Shell中curl和wget使用代理IP的方法教程

    這篇文章主要給大家介紹了關(guān)于在Linux Shell中curl和wget使用代理IP的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-08-08
  • Linux 中的Logwatch命令

    Linux 中的Logwatch命令

    在Linux系統(tǒng)操作中,logwatch能夠?qū)ο到y(tǒng)log報告進行分析,用于Linux日志的處理,下面小編給大家詳細介紹下Linux 中的Logwatch命令,感興趣的朋友一起看看吧
    2017-09-09
  • Linux啟動jar包的shell腳本

    Linux啟動jar包的shell腳本

    這篇文章主要介紹了Linux啟動jar包的shell腳本,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • Linux 下vim使用教程

    Linux 下vim使用教程

    Vim是從 vi 發(fā)展出來的一個文本編輯器。這篇文章給大家介紹Linux 下vim使用教程,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • shell簡單處理mysql查詢結(jié)果的方法

    shell簡單處理mysql查詢結(jié)果的方法

    今天小編就為大家分享一篇shell簡單處理mysql查詢結(jié)果的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Linux動態(tài)庫函數(shù)的詳解

    Linux動態(tài)庫函數(shù)的詳解

    這篇文章主要介紹了Linux動態(tài)庫函數(shù)的詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分的內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • jenkins+shell自動化部署的實現(xiàn)步驟

    jenkins+shell自動化部署的實現(xiàn)步驟

    本文主要介紹了jenkins+shell自動化部署的實現(xiàn)步驟,通過jenkins與shell腳本相結(jié)合,實現(xiàn)war包自動部署到多臺服務器上,感興趣的可以了解一下
    2022-04-04
  • Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼

    Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼

    這篇文章主要介紹了Linux oracle數(shù)據(jù)庫備份完成后可以自動壓縮腳本代碼,大家參考使用
    2013-12-12
  • Shell腳本實現(xiàn)把進程負載均衡到多核CPU中

    Shell腳本實現(xiàn)把進程負載均衡到多核CPU中

    這篇文章主要介紹了Shell腳本實現(xiàn)把進程負載均衡到多核CPU中,可以把進程指定運行在某個CPU中,需要的朋友可以參考下
    2014-06-06
  • Linux查看當前系統(tǒng)的資源占用情況的常用命令

    Linux查看當前系統(tǒng)的資源占用情況的常用命令

    本文介紹了幾種常用的系統(tǒng)性能監(jiān)控工具,包括top、free、vmstat和iostat等命令的使用方法及其參數(shù)說明,通過這些工具可以有效監(jiān)控CPU、內(nèi)存、磁盤IO等關(guān)鍵資源的狀態(tài),需要的朋友可以參考下
    2025-04-04

最新評論

万宁市| 台东县| 龙山县| 西安市| 左权县| 湘乡市| 镇江市| 成都市| 彰化市| 平舆县| 阳原县| 绥棱县| 中山市| 松溪县| 南溪县| 余姚市| 临桂县| 讷河市| 邛崃市| 宜黄县| 陕西省| 都安| 延津县| 治多县| 思南县| 宁波市| 安徽省| 广东省| 神农架林区| 资阳市| 佛山市| 莱西市| 平安县| 宜章县| 九江县| 沧州市| 开远市| 堆龙德庆县| 阿克苏市| 陕西省| 克什克腾旗|