亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux shell命令幫助格式詳解

 更新時(shí)間:2017年01月24日 09:22:44   作者:littlewhite  
最近看了一個(gè)教程,關(guān)于Linux命令的,本來以為當(dāng)是復(fù)習(xí)隨便看看的,結(jié)果看了不禁汗顏,這個(gè)真挺有學(xué)問的,很多東西都是我還不知道的,故此做總結(jié)。下面這篇文章主要介紹了Linux shell命令幫助格式的相關(guān)資料,需要的朋友可以參考借鑒。

前言

linux shell命令通??梢酝ㄟ^-h--help來打印幫助說明,或者通過man命令來查看幫助,有時(shí)候我們也會(huì)給自己的程序?qū)懞唵蔚膸椭f明,其實(shí)幫助說明格式是有規(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>]

對(duì)于命令和參數(shù)大致有如下幾種類型

  • 沒有任何修飾符參數(shù) : 原生參數(shù)
  • <>  : 占位參數(shù)
  • []  : 可選組合
  • ()  : 必選組合
  • |   : 互斥參數(shù)
  • ... : 可重復(fù)指定前一個(gè)參數(shù)
  • --  : 標(biāo)記后續(xù)參數(shù)類型

下面來一一介紹

參數(shù)類型解讀

原生參數(shù)

說明文檔里的字符即為命令需要使用的字符,比如以上命令的

git reset

這種參數(shù)在使用時(shí)必需指定,且和說明文檔里的一致

占位參數(shù)

表示方式: <>

和原生參數(shù)類似,都是必需指定的,只不過占位參數(shù)的實(shí)際字符是在使用時(shí)指定的,同時(shí)為了方便閱讀會(huì)用一個(gè)描述詞匯來表示,并以<>包圍,比如

<paths>

表示路徑,使用時(shí)可以指定為具體的路徑,而paths只是起一個(gè)說明作用,有些幫助說明里也會(huì)用大寫來表示占位參數(shù),比如將以上參數(shù)說明寫成PATHS

可選組合

表示方式:  []

括號(hào)里的參數(shù)為可選參數(shù),比如usage第二個(gè)里面的[-q] ,則-q為可選參數(shù)

可選項(xiàng)和占位參數(shù)也可以同時(shí)使用,如

[<commit>]

表示該參數(shù)可以指定某次提交,也可以不指定

必選組合

表示方式:  ()

括號(hào)里的參數(shù)必需指定,通常里面會(huì)是一些互斥參數(shù),比如

(--patch | -p)

表示--patch-p這兩個(gè)參數(shù)必需指定一個(gè)

互斥參數(shù)

表示方式:  |

互斥參數(shù)一般都在()[]里,表示該參數(shù)只能指定其中一個(gè),比如

[--mixed | --soft | --hard | --merge | --keep]

重復(fù)參數(shù)

表示方式: ...

表示前一個(gè)參數(shù)可以被指定多個(gè),比如

<paths>...

<paths>是一個(gè)占位參數(shù),使用時(shí)必需指定為路徑,...并表示可以指定多個(gè)路徑。重復(fù)參數(shù)的一個(gè)典型使用場景就是移動(dòng)文件,將多個(gè)文件移動(dòng)到一個(gè)目錄下,比如如下命令

git mv [<options>] <source>... <destination>

我們可以這樣使用

git mv -f a.cpp b.py dir

此時(shí)options對(duì)應(yīng)為-f參數(shù),source對(duì)應(yīng)為a.cpp b.py,destination對(duì)應(yīng)為dir

標(biāo)記后續(xù)參數(shù)類型

表示方式: --

表示后續(xù)參數(shù)的某種類型,比如這里如果使用如下命令

git reset -p -- xx

對(duì)比第一個(gè)命令,這里的xx對(duì)應(yīng)的應(yīng)該是<paths>參數(shù),當(dāng)我們指定--之后,則git會(huì)認(rèn)為xx就是一個(gè)路徑,那怕它是特殊符號(hào)或者路徑并不存在。這是shell命令的一個(gè)通用方式,比如我們有一個(gè)文件名為-h,如果想刪除這個(gè)文件,執(zhí)行

rm -h

肯定是無法刪除的,因?yàn)檫@時(shí)-h會(huì)被認(rèn)為是rm的一個(gè)參數(shù)選項(xiàng),應(yīng)該使用

rm -- -h

這時(shí)shell會(huì)將-h解釋為一個(gè)文件名傳遞給rm命令

解讀實(shí)戰(zhàn)

最后來解釋一個(gè)比較復(fù)雜的幫助說明

git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|<type>|--textconv) <object>

該命令參數(shù)由四個(gè)部分,其中gitcat-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)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

最新評(píng)論