Linux中所謂的通配是指,顯示以指定條件為條件的文件;即通配的含義是指搜尋以已知條件為前提的目標文件。
常用文件通配符有:
文件通配符 | 含義 | 例子 |
---|---|---|
* | 任意長度的任意字符 | 如a*,搜尋所有以a為首的文件名的文件 |
? | 任意的單一字符 | 如a?,搜索所有的以a開頭的兩個字符的文件名的文件 |
[] | 匹配指定范圍內的任意的單個字符 | 如[a-z],匹配任意單個字母(不區分大小寫);[0-9]任意單個數字;[zhang],匹配列表中任意一字符,例如:ls [zhang]* ,匹配的是z*/h*/a*/n*/g* |
[^] | 匹配的是指定范圍以外的任意單個字符 | 與[]相反 |
預定義的字符類:
文件通配符 | * | [:upper:] | [:lower:] | [:alpha:] | [:alnum:] | [:blank:] | [:space:] | [:punct:] | [:cntrl:] | [:graph:] |
---|---|---|---|---|---|---|---|---|---|---|
含義 | 任意數字 | 任意大寫字母 | 任意小寫字母 | 任意大小寫字母 | 表示所有字母和數字 | 水平空白字符 | 水平或垂直空白字符 | 標點符號 | 控制(非打印)字符 | 圖形字符 |
Bash的IO重定向(改變默認輸入和輸出的位置):
STDIN 0 標準輸入 <
STDOUT 1 標準輸出 1>(默認將‘1’舍掉)
STDERR 2 標準錯誤輸出 2>
> : 覆蓋重定向,目標文件的原有內容會被清除;
>> :追加重定向,將新內容追加至目標文件尾部。
合并標準輸出和錯誤輸出為同一個數據流進行重定向: &> ; &>>(或…>>…2>&1)
若要禁止覆蓋重定向,可以使用命令 #set -C ;
允許覆蓋 # set +C
管道(‘ | ’),用來連接程序,實現將前一個命令的輸出直接定向給后一個程序作為輸入,借此我們可以用來整合命令
在此,我們會經常用到 ‘tee’命令
tee命令用于將數據重定向到文件,另一方面還可以提供一份重定向數據的副本作為后續命令的stdin。簡單的說就是把數據重定向到給定文件和屏幕上。如圖所示:
原創文章,作者:Immortals、zcy,如若轉載,請注明出處:http://www.www58058.com/72531