在使用shell命令對多個檔案物件執行單一操作時,例如刪除當前目錄下的file1到file8,多次使用相同的命令rm file1到rm file8非常麻煩,通常使用萬用字元模式解決這個問題:rm file[1-8]。
當使用萬用字元指定一種模式時,該模式與底層系統上的乙個或多個檔案匹配,shell以空格隔開的所有匹配物件的列表來替換該模式;當模式不能找到匹配物件時,shell將不理會引數、萬用字元等,保留原樣。例如,當ls -d /etc/g*不能找到/etc/g*的任何檔案時,就會報錯。
* --------代表任意個字元,但不會匹配以.開始的檔名
? --------代表乙個字元
\ --------轉義字元,可將萬用字元或者特殊字元還原成一般字元
[abc]
--------匹配裡面的某個字元
[a-z]
--------匹配a到z之間的某個字元,還能寫成[a-z]、[0-9]、[a-za-z]等
[!abc]
--------匹配任意不包含在[!]裡的字元,同樣包括[!a-z]等的用法,這裡[和!之間不能有空格
--------同c1或者c2相匹配,其中c1和c2也是萬用字元,比如與[0-9]abc、[efg]均通配
;--------連續性命令,比如command1;command2,不管前者是否正確,後者都會執行,使用&&和||則會有先後順序
! --------邏輯運算中的非
/--------路徑字元
$--------讀取變數字元,例如echo $path
>,>>
--------輸出導向,分別為清空與末尾累加
' --------單引號
" --------雙引號
`` --------兩個`中間為可以先執行的指令,例如cat /etc/`pwd`/hello.
注意:使用時,[與]之間絕對不能為空,所以[*]表示[、]與*任意乙個字元來匹配,如果要處理與萬用字元相關的字元,需要使用轉義字元\,例如:
echo $[abc]
輸出結果是a、b或者c變數的值。
echo $\[abc\]
輸出結果是[abc]變數的值(舉例而已,當然不存在[abc]這樣的變數名)。
echo '[abc]'
單引號也能起到與轉義字元同樣的作用。雙引號內部保留所有萬用字元的原義,而單引號內部將萬用字元視為普通字元。
linux萬用字元
在您日常的 linux 使用中,有很多時候您可能需要一次對多個檔案系統物件執行單一操作 比如 rm 在這些 情況下,在命令列中輸入許多檔案通常讓人感到厭煩 rm file1 file2 file3 file4 file5 file6 file7 file8 為了解決這個問題,您可以利用 linux ...
Linux萬用字元
linux萬用字元 在我們平常的 linux 使用中,在很多時候您可能需要一次對多個檔案系統物件執行單一操作 如 cp 在這些情況下,直接在命令列中輸入許多檔名通常是很讓人厭煩的 root admin cp file1 file2 file3 file4 file5 filen home test ...
linux萬用字元
touch a a6.log abc.log ac.txt b c c5.txt x.log a代表任意多個字元 例 查詢以 log 結尾的檔案 ll log 代表任意單個字元 例 只查詢a b c ll 代表 和 之間的某乙個字元,比如 0 9 可以代表0 9之間的任意乙個數字,a za z 可以...