globbing:文件名通配
匹配模式:元字符
*:匹配任意長度的任意字符
?:表示任意單個字符
[]:匹配指定範圍內的任意單個字符
有幾種特殊模式:
[a-z],[A-Z],[0-9],[a-z0-9]
[[:upper:]]:所有大寫字母
[[:lower:]]:所有小寫字母
[[:alpha:]]:所有字母
[[:alnum:]]:所有字母和數字
[[:space:]]:所有空白字符
[[:pucnt:]]:所有標點符號
[^]:匹配指定範圍外的任意單個字符
[^[:upper:]]:匹配不是大寫字母的
[^0-9]:匹配不是數字的
例:顯示/var目錄下以l開頭,以小寫字母結尾,中間跟一位任意字符的目錄或文件。
顯示/testdir/目錄下,以任意一位數字開頭,且以非數字結尾的問件或目錄
顯示/etc目錄下,以非字母開頭,後面跟一個字母及其它任意長度任意的字符的文件或目錄
ls -d /etc/[^[:alpha:]][[:alpaha:]]*
IO重定向及管道
程序:指令+數據
程序:IO
可用於輸入的設備:鍵盤
可用於輸出的設備:顯示器
程序的數據流有三種:
輸入的數據流:<--標準輸入 ( stdin ,鍵盤)
輸出的數據流:-->標準輸出 (stdout,顯示器,準確的說是用戶終端控制檯),
錯誤的數據流:--> 標準錯誤輸出(stderr)是由解釋器輔助的數據流
fd:file descriptor,文件描述符
標準輸入:0
標準輸出:1
錯誤輸出:2 (不要搞錯,你搞錯,就很2.)
IO重定向:
輸出重定向:>
輸出重定向:>>
特性:追加輸出,
注意:set命令可以控制覆蓋重定向,
-C:文件存在時,禁止覆蓋輸出重定向e
+C:開啓覆蓋重定向
要想強制覆蓋輸出重定向就用: >|
錯誤輸出流重定向:2>,2>>
合併正常輸出流和錯誤輸出流:&> &>> (2>&1)unix血脈正統高貴兼容性強
(1)&>, &>>
(2)COMMAND > /path/to/somefile 2>&1
COMMAND >> /path/to/somefile 2>&1
輸入重定向:<
tr命令:刪除或替換
tr [OPTION]... SET1 [SET2]
對位的模式
here Document:<< 此處文檔
cat < 顯示在屏幕上
cat < /path/to/somefile/ <<EOF 輸出到文件中
管道:連接程序,實現將前一個命令的結果用作後一個命令輸出;