1、文件類型介紹
linux系統中主要包括以下七種文件類型: d 目錄 - 普通文件 l 符號鏈接 s 套接字文件 b 塊設備文件 c 字符設備文件 p 命名管道文件
2、正則表達式
正則表達式在shell編程中非常重要。
從一個文件或命令輸出中抽取或過濾文本時??墒褂谜齽t表達式(RE),正則表達式是一些特殊或不很特殊的字符串模式的集合。
基本的元字符集:
^ 只匹配行首。
$ 只匹配行尾。
* 一個單字符后緊跟*,匹配0個或多個此單字符。
[] 匹配[]內字符,可以是一個單字符,也可以是字符序列??梢允褂?來表示[]內范圍,如[1-5]等價于[1,2,3,4,5]。
屏蔽一個元字符的特殊含義,如$表示字符$,而不表示匹配行尾。
. 匹配任意單字符。
pattern{n} 匹配pattern出現的次數n
pattern{n,}m匹配pattern出現的次數,但表示次數最少為n
pattern{n,m} 匹配pattern出現的次數在n與m之間(n,m為0-255)
常見例子:
顯示可執行的文件:ls –l | grep …x...x..x
只顯示文件夾:ls –l | grep ^d
匹配所有的空行:^$
匹配所有的單詞:[A-Z a-z]*
匹配任一非字母型字符:[^A-Z a-z]
包含八個字符的行:^……..$(8個.)
更多內容,請查閱正則表達式的詳細資料加深學習。
3、字符類描述
常用的可用字符類列表:
[:alnum:] 字母數字 [a-z A-Z 0-9]
[:alpha:] 字母 [a-z A-Z]
[:blank:] 空格或制表鍵
[:cntrl:] 任何控制字符
[:digit:] 數字 [0-9]
[:graph:] 任何可視字符(無空格)
[:lower:] 小寫 [a-z]
[:print:] 非控制字符
[:punct:] 標點字符
[:space:] 空格
[:upper:] 大寫 [A-Z]
[:xdigit:] 十六進制數字 [0-9 a-f A-F]
使用字符類可以更好地適應非英語 locale(包括某些必需的重音字符等)。
4、引號類型
shell中共有四種引用類型:
“ ”雙引號
‘ '單引號
` ` 反引號
反斜線
說明:
“ ”可引用除$、` 、 、外的任意字符或字符串,“ ”中的變量能夠正常顯示變量值。
‘ '與“ ”類似,不同在于shell會忽略任何的引用值。
例如: GIRL=‘girl'
echo “The ‘$GIRL' did well”
則打印:The ‘girl' did well
說明:
` `用于設置系統命令的輸出到變量,shell會將` `中的內容作為一個系統命令并執行質。
例如:echo `date` 則打印當前的系統時間。
說明:
用來屏蔽特殊含義的字符:& * + ^ $ ` “ | ?
例如:expr 12 * 12 將輸出144
5、變量設置的幾種模式
變量設置時的不同模式:
valiable_name=value 設置實際值到 variable_name中
新聞熱點
疑難解答