1.特殊符號java
' ' 所見即所得。原樣輸出。python
" " 特殊符號會被解析運行linux
` ` 至關於$(),先運行括號裏面的命令,把結果留下正則表達式
> 重定向(先清空文件,再追加內容到文件)express
>> 追加劇定向(在文件最後追加內容)命令行
2> 錯誤重定向blog
2>> 錯誤追加劇定向io
~ 當前用戶家目錄class
! 查找並運行歷史命令。eg:!sed 查找最近的一條,包含sed的命令並運行。通常不用這個,用:history |grep sedtest
# 註釋或root的命令行提示符
$ 取變量的值 或 普通用戶的命令行提示符
* 全部;任何東西
\ 轉義字符
&& 前一個命令執行成功,再執行後一個命令。eg:ifdown eth0 && ifup eth0
|| 前一個命令執行失敗,再執行後一個命令
2.通配符
通配符是用來查找文件的
* 表示全部,任意
{} 生成序列
3.正則表達式
經過符號表示文字內容。正則表達式是按照行進行處理的;禁止使用中文符號。
通配符和正則的區別:
通配符--用來匹配查找文件名,linux大部分命令都可使用
正則--在文件中匹配查找內容。grep/sed/awk/find命令支持,java、python這些高級語言內支持。
正則分類:
基礎正則:^ . * $ [] [^] basic regular expression BRE
擴展正則:| + {} () ? extened regular expression ERE
^ 行首
.(點) 任何一個字符,不匹配空行
* 匹配前一個字符連續出現0次或1次以上 >=0次。注意:連續出現0次====什麼也沒有,就會把整個文件內容都顯示出來。如:grep "w*" tmp.txt 會將tmp.txt整個文件內容顯示出來
$ 行尾
[] [ABC]------匹配A或B或C。中括號至關於一個符號,一次只匹配一個字符。
[^] [^ABC]------排除A或B或C的內容
.* 全部字符,全部符號
| 或者。如:egrep "456|abc" tmp.txt
+ 匹配前一個符號1次或屢次 >=1次。能夠把連續的東西經過正則匹配出來,通常與 [] 配合使用。
{} g{n,m}--前一個字符最少出現n次,最多m次;g{n}--前一個字符出現了n次;g{,m}--前一個字符最多出現m次;g{n,}--前一個字符最少出現n次。
() 括號中內容至關因而一個總體。用於後向引用(反向引用)。經常使用於sed。eg:sed -r 's#.(.)..(..)#\2#g' test.txt sed -r 's#(.*)#\1#g' test.txt egrep "gr(a|e)y" test.txt
? 前一個字符連續出現0次或1次
支持基礎正則 基礎+擴展正則
grep egrep或grep -E
sed sed -r
awk awk