Linux学习资料-万用字符与特殊符号
2019獨角獸企業重金招聘Python工程師標準>>>
萬用字符與特殊符號?
由于在 bash 當中常會使用到一些萬用字符,與搭配特殊符號來將指令做更好的利用(例如最常提到的正規表示法 Regulare Express )!底下我們列出一些常用的萬用字符與特殊符號:?
? 符號 內容?
* 萬用字符,代表一個或多個字符(或數字)?
? 萬用字符,代表一個字母?
# 批注,這個最常被使用在 script 當中,視為說明!?
\ 跳脫符號,將『特殊字符或萬用字符』還原成一般字符?
| 分隔兩個管線命令的界定;?
; 連續性命令的界定(注意!與管線命令并不相同)?
~ 使用者的家目錄?
$ 亦即是變量之前需要加的變量取代值?
& 將指令變成背景下工作?
! 邏輯運算意義上的『非』 not 的意思!?
/ 路徑分隔的符號?
>, >> 輸出導向,分別是『取代』與『累加』?
' 單引號,不具有變量置換的功能?
" 具有變量置換的功能!?
` ` 兩個『 ` 』中間為可以先執行的指令!?
( ? ) 在中間為子 shell 的起始與結束?
[ ?] 在中間為字符的組合?
{ ? } 在中間為命令區塊的組合!?
組合按鍵 執行結果?
Ctrl + C 終止目前的命令?
Ctrl + D 輸入結束(EOF),例如郵件結束的時候;?
Ctrl + M 就是 Enter 啦!?
Ctrl + S 暫停屏幕的輸出?
Ctrl + Q 恢復屏幕的輸出?
Ctrl + U 在提示字符下,將整列命令刪除?
Ctrl + Z 『暫停』目前的命令?
上面的萬用字符當中,最常用的就屬 *, ?, [] 及 ` 了!我們提幾個簡單的例子:?
? [test @test ?test]# ls test* ?<==那個 * 代表后面不論接幾個字符都予以接受(沒有字符也接受!)?
[test @test ?test]# ls test? ?<==那個 ? 代表后面『一定』要接『一個』字符?
[test @test ?test]# ls test??? ?<==那個 ??? 代表『一定要接三個』字符!?
[test @test ?test]# cp test[1-5] /tmp ?<==將 test1, test2, test3, test4, test5 若存在的話,就拷貝到 /tmp 下?
[test @test ?test]# cd /lib/modules/`uname -r`/kernel/drivers ?<==被 ` ` 括起來的內容『會先執行』!?
上面幾個例子相當的有趣!尤其是最后面兩個!需要注意的是, [] 里面『代表只有一個字符』但是范圍可以由 1-5 ,這樣來說的話,那么我們如果允許『只要檔名里面含有至少一個大寫字符』時,就可以將檔案 copy 出來的話,可以這樣做:?
?
cp *[A-Z]* /tmp
?
很有趣吧?! ^_^?
此外,那個 `` 里面的『指令』會先被執行,也就是說:?
?
系統先執行 uname -r 找出輸出的結果;?
將結果累加在目錄上面,來執行 cd 的功能!?
?
很棒吧!!這些基本的功能需要特別來了解一下才行呦!
--------------------------------------------------------------------------------
連續指令的下達方式:?
這里需要再提幾個重要的信息,我們剛剛上面提過說,兩個指令先后寫在一起,可以這樣寫:?
?
command1; command2
?
利用分號『 ; 』來分隔,這個分號的意思,代表不論 command1 執行結果為何,command2 都會被執行!那么如果我是兩個相關的指令,第一個 command1 如果執行結果有錯誤,第二個就不被執行,可以這樣做嗎?當然可以,就使用下面兩個連結的咚咚:?
?
command1 && command2?
command1 || command2
?
還記得我們之前的變量內容中,那個 ? 代表什么嗎?沒錯,就是代表前一個執行的指令內容有沒有錯誤,如果有錯誤就回傳為 1 ,沒有錯誤就回傳為 0 ,你可以經由 echo $? 來查詢得知!那么 && 就是代表,當 command1 執行結果傳回值為 0 的時候,也就是沒有錯誤訊息時,則 command2 才會開始執行,而 || 恰恰相反,當 command1 有錯誤訊息時, command2 才會執行!舉個例子來說,我的系統中并沒有 /vbird 這個目錄,所以執行 ls /vbird 應該會有錯誤訊息才對,所以,底下三個指令串會顯示什么呢??
? [root @test root]# ls /vbird ?; ls /?
[root @test root]# ls /vbird && ls /?
[root @test root]# ls /vbird || ls /?
試看看呦!
轉載于:https://my.oschina.net/ysh3940/blog/374416
總結
以上是生活随笔為你收集整理的Linux学习资料-万用字符与特殊符号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Material Des
- 下一篇: linux中刻录iso到光盘