linux入門之I O重定向

2022-08-05 05:33:14 字數 1534 閱讀 8975

我們知道,執行乙個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 ...