Linux萬用字元

2021-06-08 05:02:52 字數 1164 閱讀 9494

在使用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 可以...