標準輸入:0
標準輸出:1
錯誤輸出:2
標準輸入(stdin )-0 預設接受來自鍵盤的輸入
標準輸出(stdout )-1 預設輸出到終端視窗
標準錯誤(stderr )-2 預設輸出到終端視窗
改變檔案儲存的預設位置
格式:命令 操作符號 檔名
支援的操作符號包括:
> 把標準輸出重定向到檔案
>> 把輸出內容重定向追加到檔案末尾
2> 把錯誤輸出重定向到檔案
2>> 把錯誤輸出資料流追加到文字末尾
&> 把所有輸出重定向到檔案
&>> 把所有的輸出追加重定向到檔案末尾
如何關閉重定向覆蓋文字內容功能:
set –c 禁止將內容覆蓋 已有檔案, 但可追加
>| file 強制覆蓋
set +c 允許覆蓋
標準輸出和錯誤輸出各自定向至不同位置
commamd > /path/to/file.out
2> /path/to/error.out
合併標準輸出和錯誤輸出為同乙個資料流進行重定向
command > /path/to/file.out
2>&1 (順序很重要)
command >> /path/to/file.out
2>&1
合併多個程式的標準輸出:
( cal 2007 ; cal 2008 ) > all.txt
快速清除file檔案內容:
# > file
使用 < 來重定向標準輸入
某些命令能夠接受從檔案中匯入的標準輸入
tr 『a-z』 『a-z』< /etc/issue
該命令會把/etc/issue 中的小寫字元都轉換成寫寫字元
tr –d abc < /etc/fstab 刪除fstab 檔案中的所有abc 中任意字元
語法: tr 選項 引數
選項:
-c 或 ——complerment:取代所有不屬於第一字符集的字元;
-d 或 ——delete:刪除所有屬於第一字符集的字元;
-s 或 --squeeze-repeats:把連續重複的字元以單獨乙個字元表示;
-t 或 --truncate-set1:先刪除第一字符集較第二字符集多出的字元。
引數: 字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用引數「字符集2」指定轉換的目標字符集。
但執行刪除操作時,不需要引數「字符集2」;可以使用檔名萬用字元
字符集2:指定要轉換成的目標字符集。
例項: # echo
"tank" |tr a-z a-z #大寫字母轉小寫
# echo
"hello 123 world 456" | tr -d '0-9' #刪除字串中的數字
# cat text | tr '\t'
' ' #將製表符轉換成空格
# echo
"aa.,a 1 b#$bb 2 c*/cc 3 ddd 4" | tr -dc '0-9 \n'
# 刪除除數字外的字元
# tr
'[:lower:]'
'[:upper:]' #將小寫字元轉換成大寫字元
連線程式,實現將前乙個命令的輸出直接定向後乙個程式當作輸入資料流
管道(使用符號「| 」表示)用來連線命令
命令1| 命令2 | 命令3 |
將命令1的 標準輸出 傳送給命令2 的 標準輸入 ,
命令2的 標準輸出 傳送到命令3 的 標準輸入
錯誤輸入 預設不能通過管道**,可利用2>&1 或 或 |& 實現
最後乙個命令會在當前shell 程序的子shell 程序中執行用來
例如: 把/etc/passwd檔案的前6行的資訊轉換為大寫字元後輸出;
head -n 6 /etc/passwd | tr 'a-z' 'a-z'
一頁一頁地檢視輸入
ls -l /etc | less
語法: tee 選項 引數
選項:
-a:向檔案中重定向時使用追加模式;
-i:忽略中斷(interrupt)訊號。
引數:檔案:指定輸出重定向的檔案。
例項: ls | tee out
.txt
#將當期目錄的詳細內容儲存在out.txt檔案內
ls | tee out
.txt | cat -n #將當期目錄的詳細內容儲存在out.txt檔案內,並且列印出帶有行號內容
標準I O和管道
重定向 redirect 標準輸入和輸出程式 指令 資料 讀入資料 input 輸出資料 output 開啟的檔案都有乙個fd file descriptor 檔案描述符 dev std proc self fd 終端linux給程式提供三種i o管道標準輸入 stdin 0 預設接受來自鍵盤的輸入...
標準IO和管道
1 將 etc issue檔案中的內容轉換為大寫後儲存至 tmp issue.out檔案中 1.cat etc issue tr a z a z tmp issue.out 2.tr a z a z tmp issue.out 2 將當前系統登入使用者的資訊轉換為大寫後儲存至 tmp who.out...
Linux標準I O和管道
程式 指令 資料 linux給程式提供三種 i o 裝置 標準輸入 stdin 0 預設接受來自鍵盤的輸入 標準輸出 stdout 1 預設輸出到終端視窗 標準錯誤 stderr 2 預設輸出到終端視窗 i o重定向 改變預設位置 重定向操作符 把標準輸出重定向到檔案 ls lh data ls.l...