如下爲學習整理內容,供本身翻閱和他人翻閱使用linux
通配符(shell)
* 匹配任意多的字符(包括0個和1個) ? 匹配任意單個字符(不包括0個) [characters] 匹配任意一個屬於字符集中的字符 [^characters]或[!characters] 匹配任意一個不屬於字符集中的字符 [[:class:]] 匹配任意一個屬於指定字符類中的字符 {string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
字符類
[:alpha:] 英文大小寫字符,亦A-Z a-z [:alnum:] 英文大小寫字符以及數字:亦A-Z a-z 0-9 [:blank:] 空格鍵與tab鍵 [:cntrl:] 鍵盤的控制按鍵 [:digit:] 數字,亦0-9 [:graph:] 除去空格符(空格鍵和tab鍵)外的其ls它全部符號 [:lower:] 表明小寫字符,亦:a-z [:print:] 任何能夠被打印出來的字符 [:punct:] 標點符號 [:upper:] 大寫字符,亦:A-Z [:space:] 空白符 [:xdigit:] 16進位的數字類型,0-9,A-F,a-f的數字與字符
一些通配符的使用案例圖
git
特殊符號(shell Meta字符)
IFS 由空格鍵、tab鍵、enter鍵三者之一組成 CR 由回車<enter>鍵產生 = 設定變量 $ 取用變量值或者運算值前導符 >,>> 數據流,重定向 輸出導向(stdout) > 重定向取代,>>重定向增長 <,<< 數據流,重定向 輸入導向(stdin) < 重定向文件內容 ,<< 鍵盤輸入內容 | 管道符號,管線(pipe),分隔管線命令的界定 & 重導向文件描述符號(file descriptor) 例: &> 或者 2>&1 將標準輸入輸出文件重定向一個文件中 或者做爲工做控制,將命令置於背景(後臺)執行 () 將其內的命令置於子shell(nested subshell)執行 或用於運算 或命令的替換 {} 將其內的命令置於非命名函數(non-named function)中執行 或用在變量替換的界定範圍,例:${PATH}:~/bin ; 連續指令分隔符,與管線不一樣,他是命令分隔符,不進行過濾處理 ' ' 單引號,不具備變量置換(解析)功能($變爲純文本);硬轉義,其內部全部的shell 元字符、通配符都會被關掉。 " " 雙引號,具備變量置換(解析)功能($可保留相關功能);軟轉義,其內部只容許出現特定的shell 元字符 ` ` 反引號,放置的命令可先執行的指令,與$(指令)功能相同 && 邏輯運算與,在前一個命令結束時,若返回值爲真(true),繼續執行下一個命令 || 邏輯運算或,在前一個命令結束時,若返回值爲假(false),繼續執行下一個命令 ! 邏輯運算非 # 批註符號,經常使用在腳本中,視爲說明,不執行 \ 跳脫字符,將特殊字符或者通配符還原成通常字符 / 根目錄符號,或者路徑分隔符 ~ 當前用戶家目錄
轉義字符
\b 退格字符 \f 走紙符 \n 換行符 \r 回車符 \t 水平製表符 \v 垂直製表符 \ddd 1-3位八進制值 \xhex 十六進制值 \c 任何字面字符
正則表達式
linux中支持正則的編輯工具 編輯工具 基本正則表達式 擴展正則表達式 grep 支持 不支持 egrep 支持 支持 vi 支持 不支持 vim 支持 支持 sed 支持 不支持(-r選項支持) awk 支持 支持 ==基本正則表達式(元字符)== ^ 匹配指向一行的開頭; 在awk中匹配字符串的開始,即便字符串包含嵌入的換行符 $ 匹配指向一行的結尾 在awk中匹配字符串的結尾,即便字符串包含嵌入的換行符 . 匹配任意單個字符(除了換行符外) awk中,能夠匹配換行符 c 匹配字母c * 匹配前一個字符出現0次或屢次 .* 匹配任意多個字符 [ ] 匹配集合中的任意單個字符,括號中爲一個集合 [^ ]匹配否認,對括號中的集合取反 [ - ] 匹配連字符兩邊範圍內 [[:class:]] 匹配字符類中的任意一個字符 \ 匹配轉義後的特殊字符 \{n,m\} 匹配前面某個範圍內單個字符重複n到m任意次數 \{n,\} 匹配前面某個範圍內單個字符至少重複n次 \{n\} 匹配前面某個字符重複n次 \( \) 將\(與\)之間的內容存儲在「保留空間」,最大存儲9個 \n n表示1-9數字經過\1到9調用「保留空間」的內容 ==擴展正則表達式(元字符)== + 匹配前面的正則表達式的一次或屢次出現 ? 匹配前面的正則表達式的零次或一次出現 | 匹配邏輯或,指定能夠匹配其前面或後面的正則表達式 ( ) 對正則表達式分組,正則集合 {n,m} 等同於基本表達式\{n,m\}