我們知道,執行乙個shell命令行時通常會執行乙個shell命令行時通常會自動開啟三個標準檔案,即標準輸入檔案(stdin),通常對應終端的鍵盤;標準輸出檔案(stdout)和標準錯誤輸出檔案(stderr),這兩個檔案都對應終端的螢幕。程序將從標準輸入檔案中得到輸入資料,將正常輸出資料輸出到標準輸出檔案,而將錯誤資訊送到標準錯誤檔案。那麼
若想將資訊的輸出方式進行轉換則可以進行輸入輸出重定向。
1、輸入重定向
cat > test.txt
進行鍵盤輸入
結束ctrl+d
[root@mmmm ~]#cat >test.txt
hhhddddkkkkvvveeeeekkkksss
[root@mmmm ~]#
cat test.txt
hhhddddkkkkvvveeeeekkkksss
重定向到多個目標(tee)
命令1 | tee[-a ] 檔名| 命令2
把命令1的stdout儲存在檔案中,做為命令2的輸入
-a 追加
•使用:
–儲存不同階段的輸出
–複雜管道的故障排除
–同時檢視和記錄輸出
[root@localhost ~]#echo 1.5+3 |tee ha.txt |bc
4.5[root@localhost ~]#
echo 1.5+3 |tee ha.txt
2、輸出重定向
> 或 1> 表示正確輸出重定向
> 若檔案不存在,則建立,若檔案已存在,則覆蓋
>> 若檔案不存在,則建立,若檔案已存在,則追加
[root@localhost ~]#echo 1.5+3 |tee ha.txt
1.5+3[root@localhost ~]#
echo 'hello' >wsy.txt
[root@localhost ~]#
echo 'hello' >ha.txt
[root@localhost ~]#
cat wsy.txt
hello
[root@localhost ~]#
cat wsy.txt
hello
[root@localhost ~]#
echo 'i am fine' >>ha.txt
[root@localhost ~]#
cat ha.txt
hello
i am fine
2> 表示錯誤輸出重定向
2> 若檔案不存在,則建立,若檔案已存在,則覆蓋
2>> 若檔案不存在,則建立,若檔案已存在,則追加
&> 表示全部輸出重定向(正確錯誤都定向)
&> 若檔案不存在,則建立,若檔案已存在,則覆蓋
&>> 若檔案不存在,則建立,若檔案已存在,則追加
1>&2 表示將正確結果轉換為錯誤結果
2>&1 表示將錯誤結果轉換為正確結果
Linux學習之九(I O重定向)
一 管理及io重定向 1 系統設定 預設輸出裝置 標準輸出,stdout,1 預設輸入裝置 標準輸入,stdin,0 標準錯誤輸出 stderr,2 2 i o重定向 覆蓋輸出 追加輸出 set set c 禁止對已經存在的檔案使用覆蓋重定向 強制覆蓋輸出,則使用 set c 關閉上述功能 2 重定...
010 Linux之I O重定向
十年運維系列之基礎篇 linux 聯絡 1494445739 qq.com www.jplatformx.com 一 引言 這裡我們來討論linux中命令列乙個很酷的功能,那就是i o重定向。i o是輸入 輸出的縮寫。這個功能可以把命令列的輸入重定向為從檔案中獲取內容,也可以把命令列的輸出結果重定向...
Linux Shell之IO重定向
一 io裝置 io是指資料的 端與資料的目的端,分別稱為標準輸入 標準輸出 及標準錯誤輸出。程式不必關心裝置的問題,無論是檔案 終端 磁帶機等。在linux預設情況下,會讀取標準輸入 寫入標準輸出,並將錯誤傳遞到標準錯誤輸出。預設情況下標準輸入 輸出 錯誤都是終端。通過下面可知 cat input ...