glob通配及IO重定向 筆記

2021-08-22 04:25:36 字數 1403 閱讀 9539

bash的基礎特性:

globbing:檔名通配 (整體檔案匹配,而非部分)

匹配模式:元字元

*:匹配任意長度的任意字元

pa*, *pa* ,*pa,*p*a*

?:匹配任意單個字元

pa?,??pa, ?pa,p?a?

:匹配指定範圍內的任意單個字元

有幾種特殊格式:

[a-z],[a-z],[0-9],[a-z0-9]

[[:upper:]]:所有大寫字母

[[:lower:]]:所有小寫字母

[[:alpha:]]:所有字母

[[:digit:]]:所有數字

[[:alnum:]]:所有的字母和數字

[[:space:]]:所有空白字元

[[:punct:]]:所有標點符號

[^]:匹配指定範圍外的任意單個字元:[^[:upper:]] ...

io重定向及管道

程式:指令+資料 

程式:io

可用於輸入的裝置:檔案 鍵盤裝置、檔案系統上的常規檔案、網絡卡等

可用於輸出的裝置:檔案 顯示器、檔案系統上的常規檔案、網絡卡等

程式的資料流有三種:

輸入的資料流:標準輸入stdin,鍵盤

輸出的資料流:標準輸出stdout,顯示器

錯誤輸出流:錯誤輸出,顯示器

fd:filedescriptor,檔案描述符

標準輸入:0

標準輸出:1

錯誤輸出:2

io重定向:輸出重定向:>        特性:覆蓋輸出

>>       特性:追加輸出

# set -c 禁止覆蓋輸出重定向至已存在的檔案;

# set +c 關閉上述特性

錯誤輸出流重定向:2>,2>>

合併正常輸出流和錯誤輸出流:&>,&>>

connand > /path/to/somefile 2>&1

connand >> /path/to/somefile 2>&1

特殊裝置:/dev/null

輸入重定向:<

tr 命令:tr [option]...set1[se2] 

把輸入的資料當中字元,凡是在set1定義範圍內出現的,通通對位轉換為set2出現的字元

用法一:tr set1 set2 < /path/from/somefile

用法二:tr -d set1 /path/from/somefile << eof

管道:| 連線程式,實現將前乙個命令的輸出直接定向後乙個程式當做輸入資料流

tee命令:command | tee /path/to/somefile

練習一:把/etc/passwd檔案的前六行的資訊轉換為大寫字元後輸出 ;

head -n 6 /etc/passwd | tr 'a-z' 'a-z' 

管道及I O重定向

管道符 前乙個命令的輸出,作為後乙個命令的輸入 命令1 命令2 命令3 輸出 hello,world.並將小寫轉換為大寫 root localhost echo hello,world.tr a z a z hello,world.顯示passwd檔案中按 分割的每行第乙個部分並排序並將小寫轉換為大...

bash的的I O重定向及管道

程式 指令 資料 讀入資料 input 輸出資料 output 開啟的檔案都有乙個fd file descriptor 檔案描述符 標準輸入 keyborad,0 標準輸出 monitor,1 標準錯誤輸出 monitor,2 i o重定向 改變標準位置 輸出重定向 command new pos,...

linux學習筆記之輸出重定向管道符及萬用字元

裝置裝置檔名檔案描述符型別 鍵盤 dev stdin 0標準輸入 顯示器 dev stdout1標準輸出 顯示器 dev stdout2標準錯誤輸出 輸出重定向 注意!錯誤命令的輸出重定向 或 兩側無空格 型別符號 作用 標準輸出重定向命令 檔案 以覆蓋的方式,把命令的正確輸出輸出到指定的檔案或裝置...