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

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ū)懞?jiǎn)單的幫助說明,其實(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è)典型使用場(chǎng)景就是移動(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é)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 學(xué)習(xí)shell腳本之前的基礎(chǔ)知識(shí)[圖文]

    學(xué)習(xí)shell腳本之前的基礎(chǔ)知識(shí)[圖文]

    在學(xué)習(xí)shell腳本之前,需要你了解很多關(guān)于shell的知識(shí),這些知識(shí)是編寫shell腳本的基礎(chǔ),所以希望你能夠熟練的掌握
    2013-03-03
  • Shell調(diào)用curl實(shí)現(xiàn)IP歸屬地查詢的腳本

    Shell調(diào)用curl實(shí)現(xiàn)IP歸屬地查詢的腳本

    這篇文章主要介紹了Shell調(diào)用curl實(shí)現(xiàn)IP歸屬地查詢,文中給大家提到了查詢IP歸屬地的shell腳本,在批量查找數(shù)據(jù)的時(shí)候經(jīng)常會(huì)遇到,今天給大家分享出來,需要的朋友可以參考下
    2021-07-07
  • Linux du命令查看文件夾大小并按降序排列

    Linux du命令查看文件夾大小并按降序排列

    這篇文章主要介紹了Linux du命令查看文件夾大小并按降序排列,需要的朋友可以參考下
    2015-11-11
  • Bash?EOF的使用小結(jié)

    Bash?EOF的使用小結(jié)

    本文主要介紹了Bash?EOF的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mysql源碼安裝腳本分享

    mysql源碼安裝腳本分享

    這篇文章主要介紹了mysql源碼安裝的腳本,配置文件的內(nèi)容是針對(duì)mysql5.6的,需要的朋友可以參考下
    2014-03-03
  • bash?shell?自定義函數(shù)命令持久化生效問題

    bash?shell?自定義函數(shù)命令持久化生效問題

    這篇文章主要介紹了bash?shell?自定義函數(shù)命令持久化生效,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Shell命令之?dāng)?shù)組表示語(yǔ)法學(xué)習(xí)

    Shell命令之?dāng)?shù)組表示語(yǔ)法學(xué)習(xí)

    這篇文章主要為大家介紹了Shell命令之?dāng)?shù)組表示語(yǔ)法學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Linux應(yīng)用調(diào)試之strace命令詳解

    Linux應(yīng)用調(diào)試之strace命令詳解

    strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)。下面通過本文給大家分享Linux應(yīng)用調(diào)試之strace命令,需要的朋友參考下吧
    2017-12-12
  • Shell中的for和while循環(huán)詳細(xì)總結(jié)

    Shell中的for和while循環(huán)詳細(xì)總結(jié)

    這篇文章主要介紹了Shell中的for和while循環(huán)詳細(xì)總結(jié),本文講解了for循環(huán)的數(shù)字段形式、詳細(xì)列出、對(duì)文件進(jìn)行循環(huán),while循環(huán)的三種使用場(chǎng)合等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • linux設(shè)置定時(shí)任務(wù)的方法步驟

    linux設(shè)置定時(shí)任務(wù)的方法步驟

    這篇文章主要介紹了linux設(shè)置定時(shí)任務(wù)的方法步驟,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05

最新評(píng)論

连城县| 华容县| 新沂市| 澄城县| 深圳市| 安泽县| 永德县| 正阳县| 井研县| 保靖县| 海安县| 开鲁县| 五台县| 平遥县| 青河县| 万年县| 当涂县| 乐业县| 麦盖提县| 怀安县| 灵山县| 定州市| 商水县| 基隆市| 垣曲县| 保靖县| 阿拉善盟| 城口县| 五常市| 都安| 利川市| 西乌| 江永县| 沧源| 齐河县| 呼玛县| 临江市| 黎川县| 岑溪市| 称多县| 古田县|