您好,登錄后才能下訂單哦!
本篇內容介紹了“linux shell命令如何快捷獲得系統幫助”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、程序內在幫助信息
例如:
[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個例子,通過參數獲得命令使用幫助,這是我們經常用的。 說點題外話,開始跑題了……,呵呵
我想說下命令常見參數規律,一般如果帶參數是一個字符,那么就用:一個”-“連接,如果后面參數是多個字符就用:”--“連接。是不是一個”-“后面不能接多個字符呢?這點就是linux命令解析靈活性了,如果你把多個字符用一個”-“連接,它會將它分割為多個參數。如:ls –al 等價于 ls –a –l ,如果你用:ls –-al 那么它將把al作為整體參數了。
還要說一點,一般linux命令,都會用-h,或者 --help作為返回命令行幫助信息。 特別是--help最多,有的命令2個都支持。 這個已經成了一種習慣了。遇到不會用的命令,不妨試試這2個參數。
二、獲得命令外部幫助文件(man-pages)
什么是手冊頁(man-pages)
在windows下面,我們經常把幫助手冊叫電子書,是chm文件。在linux下面的幫助手冊,一般叫man-pages。它們按照一定規律存放在linux一些文件夾里面,如果需要查閱,可以通過man-pages手冊索引命令查閱,常見有:info,man(本文主要講的),xman等等。說到這里,肯定有朋友會說:那有windows下面的chm方便嗎,搜索,查詢,以及表現形式怎么樣的呢?在shell終端查看,是不是都是一大篇大篇文字,單獨枯燥,密密麻麻的。 哈哈,我可以說的是,它內容表現還很豐富,支持普通文字,表格,圖片,還有就是搜索定位到需要信息超快。 一定比在windows里面通過鼠標點擊快幾倍了。
那么它為什么管理方便,索引速度快呢。接下來,我們看一下man-pages也的規范了。
man-pages目錄及文件名規范定義
存放目錄:
首先是目錄以及存放規范,linux文檔經常放在:MANPATH環境變量指定的目錄中。一般在:/usr/share/man 這個目錄里面。這個目錄下面結構還有定義的:
[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類代表語言已經地區,編碼目錄
先說一下,man[*]這類目錄表示意思。linux幫助文檔,一個特別的有意思的是,按照文檔表示不同類型,分領域的(也就是分類別),過會我們會說這個類別按照什么分了。還有就是類似:zh_CN pl.ISO8859-2這些。文檔還分語言.地域.字符編碼 。可以支持統一命令,多個語言版本的文檔,并且地域可以不一樣,還可以指定字符集。如:zh_TW.big5 這個意思就是:中文_臺灣地區.使用big5字符集編碼的文檔。
文檔領域區分方法(就是類別)
我們看下下面的表格:
領域 | 描述 | 說明 |
1 | 用戶命令 | 可由任何人啟動的,如env、cat、man、touch文檔 |
2 | 系統調用或內核函數 | 即由內核提供的函數 如link、sethostname、mkdir |
3 | 庫程序 | 即庫函數 如acosh、asctime、btree、locale |
4 | 與設備有關的信息 | 即/dev目錄下的特殊文件 如zero null sda |
5 | 文件格式描述 | 如/etc/passwd 文件格式描述說明在這個分類下 |
6 | 游戲 | 游戲的幫助文件 |
7 | 其他 | 包括 宏命令包、慣例等如 arp、boot、regex、unix utf8 |
8 | 系統管理 | 只能由root啟動 如fdisk、fsck、renice、rpm、yum |
9 | 內核 | 用來存放內核例行程序的文檔 |
n | 新文檔 | 可能要移到更適合的領域 |
o | 老文檔 | 可能會在一段期限內保留 |
l | 本地文檔 | 與本特定系統有關的 |
如果文檔屬于那個類型的,它就放到 MANPATH/語言_區域.字符集/man[n]目錄下面。 沒有區域語言,代表是en英文文檔。就直接放到:MANPATH/man[n]下面,基本上大部分文檔都是這個下面。
舉個列子吧:
linux下面有個命令是:passwd 修改密碼信息的,每個用戶都可以調用,所以它會放到man1/目錄下面
但是同時,/etc/passwd有個保存用戶賬戶信息配置文件,它的格式及說明信息文檔,將放到/man5目錄下了。這樣按照領域(以后都叫這個了,呵呵)區分,不會出現相同名稱文件找錯的情況了。 上面提到的:1,2,3,4,5,7,8這些類型是我們經常用到的。 如果我想知道/dev/null 設備的意思,我可以到:man4這個目錄下面找了。
幫助文件格式:
剛才說了,目錄存放格式,幫助文件一樣有它的格式的。首先是命名格式:
[命令名稱.領域]:名字就是命令、函數或文件名的名稱,后面跟一個點,再跟著領域字符。如:如果passwd命令說明文檔,文件名命名是:passwd.1,加上目錄存放為:man1/passwd.1 ,如果對應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開頭文件,從文件里面我們就知道它對應于那些配置文件格式說明了。 #pam.d.5.gz就是pam.d目錄結構說明 pam.5.gz是pam模塊結構說明
從這個里面看,.gz結尾,看來是通過gzip壓縮過的,linux系統為節省文檔存儲空間,自帶文檔都經過壓縮的。只是查看時候,我們需要解壓然后查看。文檔內容不會改變。
再啰嗦一下:
細心朋友一定看到個問題,上面顯示:man目錄下面結構例子里面,除了man[n]以及語言地區目錄。還有一類目錄:man1,man0p,man1p,man1x 這里說明下:
加p:表示POSIX Programmer 程序說明文檔
加x:表示x windows桌面程序說明文檔
0p:表示POSIX Programmer 一些c的頭文件庫,如:tcp.h,ulimit.h等說明文檔
man-pages文件內容格式規范
能夠快捷方便查詢linux文檔,除了目錄規范以及命名規范外。對于文檔的內容也有一個格式規范呢。
一個文本文件,又不是用word格式,基本都是ascii字符,還有什么規范?
可能朋友會這么說,是的,它確實是文本文件,編輯一個隨便的txt文件,就可以是一個linux文檔,如:你寫了個:testhellow.sh腳本,然后你寫了一段文本存為:man/man1/testhellow.1文件。這個就算一個文檔了。
你通過linux索引方法,是可以找得到的。 但是:它不是一個規范的文檔。
規范格式文檔是:
手冊頁內容 | 描 述 |
NAME | 程序或者命令的名稱、手冊節號及發布日期 |
SYNOPSIS | 怎樣調用命令,帶有所有選項和參數的完整列表 |
DESCRIPTl0N | 命令及其用法的簡短小結 |
RETURN VALUES | 程序或者庫函數返回值,以及產生特定返回值的環境 |
EXIT STATUS | 經常用來替代服TURNVALUS |
OPTIONS | 按字母順序排列的選項和參數清單,如果有的話 |
FILES | 命令使用的或者能使用的文件清單 |
USAGE | 用程序的語言說明的簡明語法,如果有的話 |
ENVIROMENT | 命令使用的或者能使用的環境變量清單 |
DIAGNOSTICS | 命令產生的錯誤信息及其解決辦法的清單 |
NOTES | 不能夠歸入其他任何一種類別下的所有信息 |
CONFORMING TO | 列出程序遵循的任何標難,比如PoSIX或ISO |
SEE ALSO | 和命令有關的交叉索引和信息 |
BUGS | 指出己知的bug和錯誤功能,以及怎樣和程序的作者聯系修正它們 |
AUTHOR | 命令的作者或者維護者的名字,可能帶有電子郵件地址或URL地址 |
規范的文檔,如果有相關描述,都會包含上面這些節點類型的。我們舉例說明下:
[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)
“linux shell命令如何快捷獲得系統幫助”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。