Linux shell命令幫助格式詳解
前言
linux shell命令通??梢酝ㄟ^-h
或--help
來打印幫助說明,或者通過man
命令來查看幫助,有時候我們也會給自己的程序?qū)懞唵蔚膸椭f明,其實幫助說明格式是有規(guī)律可循的
幫助示例
下面是git reset
命令的幫助說明,通過man git-reset
可以查看
git reset [-q] [<tree-ish>] [--] <paths>... git reset (--patch | -p) [<tree-ish>] [--] [<paths>...] git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
對于命令和參數(shù)大致有如下幾種類型
- 沒有任何修飾符參數(shù) : 原生參數(shù)
- <> : 占位參數(shù)
- [] : 可選組合
- () : 必選組合
- | : 互斥參數(shù)
- ... : 可重復(fù)指定前一個參數(shù)
- -- : 標(biāo)記后續(xù)參數(shù)類型
下面來一一介紹
參數(shù)類型解讀
原生參數(shù)
說明文檔里的字符即為命令需要使用的字符,比如以上命令的
git reset
這種參數(shù)在使用時必需指定,且和說明文檔里的一致
占位參數(shù)
表示方式: <>
和原生參數(shù)類似,都是必需指定的,只不過占位參數(shù)的實際字符是在使用時指定的,同時為了方便閱讀會用一個描述詞匯來表示,并以<>
包圍,比如
<paths>
表示路徑,使用時可以指定為具體的路徑,而paths
只是起一個說明作用,有些幫助說明里也會用大寫來表示占位參數(shù),比如將以上參數(shù)說明寫成PATHS
可選組合
表示方式: []
括號里的參數(shù)為可選參數(shù),比如usage
第二個里面的[-q]
,則-q
為可選參數(shù)
可選項和占位參數(shù)也可以同時使用,如
[<commit>]
表示該參數(shù)可以指定某次提交,也可以不指定
必選組合
表示方式: ()
括號里的參數(shù)必需指定,通常里面會是一些互斥參數(shù),比如
(--patch | -p)
表示--patch
和-p
這兩個參數(shù)必需指定一個
互斥參數(shù)
表示方式: |
互斥參數(shù)一般都在()
和[]
里,表示該參數(shù)只能指定其中一個,比如
[--mixed | --soft | --hard | --merge | --keep]
重復(fù)參數(shù)
表示方式: ...
表示前一個參數(shù)可以被指定多個,比如
<paths>...
<paths>
是一個占位參數(shù),使用時必需指定為路徑,...并表示可以指定多個路徑。重復(fù)參數(shù)的一個典型使用場景就是移動文件,將多個文件移動到一個目錄下,比如如下命令
git mv [<options>] <source>... <destination>
我們可以這樣使用
git mv -f a.cpp b.py dir
此時options對應(yīng)為-f
參數(shù),source對應(yīng)為a.cpp b.py
,destination對應(yīng)為dir
標(biāo)記后續(xù)參數(shù)類型
表示方式: --
表示后續(xù)參數(shù)的某種類型,比如這里如果使用如下命令
git reset -p -- xx
對比第一個命令,這里的xx對應(yīng)的應(yīng)該是<paths>
參數(shù),當(dāng)我們指定--
之后,則git會認為xx就是一個路徑,那怕它是特殊符號或者路徑并不存在。這是shell命令的一個通用方式,比如我們有一個文件名為-h
,如果想刪除這個文件,執(zhí)行
rm -h
肯定是無法刪除的,因為這時-h會被認為是rm的一個參數(shù)選項,應(yīng)該使用
rm -- -h
這時shell會將-h
解釋為一個文件名傳遞給rm
命令
解讀實戰(zhàn)
最后來解釋一個比較復(fù)雜的幫助說明
git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|<type>|--textconv) <object>
該命令參數(shù)由四個部分,其中git
和cat-file
為原生參數(shù),()
里的為可選組合, <object>
為占位參數(shù)
組合又由6部分組成,為互斥關(guān)系
-t [--allow-unknown-type] -s [--allow-unknown-type] -e -p <type> --textconv
因此該命令的幫助說明可以拆分如下
git cat-file -t <object> git cat-file -t --allow-unknown-type <object> git cat-file -s <object> git cat-file -s --allow-unknown-type <object> git cat-file -e <object> git cat-file -p <object> git cat-file <type> <object> git cat-file --textconv <object>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
Shell中關(guān)于時間和日期的函數(shù)總結(jié)
本文給大家詳細介紹了shell下關(guān)于時間和日期的函數(shù)總結(jié),本文給大家介紹的非常詳細,具有參考借鑒價值,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05linux下安裝oracle后使用命令行啟動的方法 linux啟動oracle
這篇文章主要介紹了在linux下安裝oracle后使用命令啟動oracle的方法,大家參考使用吧2014-01-01