輸入重定向,正確輸出重定向,錯誤輸出重定向

2021-09-20 22:24:23 字數 1650 閱讀 3387

一、標準輸入(stdin)

a.輸入重定向(標準輸入):<

作用:將原先鍵盤輸入的內容改由檔案內容代替

[root@wenwen ~]# cat > test.txt

asdas

asdas

asdas

按crtl + d 退出

將network內容匯入到test.txt中去

[root@wenwen ~]# cat > test.txt < /etc/init.d/network

[root@wenwen ~]# ll -h test.txt /etc/init.d/network

-rwxr-xr-x. 1 root root 6.2k 10月 10 2013 /etc/init.d/network

-rw-r--r--  1 root root 6.2k 5月   4 20:14 test.txt

b.結束符:<<

輸入指定字元就會退出

[root@wenwen ~]# cat > test.txt << "cop"

> sadjaskd

> cop

二、標準輸出(stdout)

正確輸出重定向:>

追加重定向:>>

[root@wenwen ~]# cat 3.txt | grep y | awk -f' ' ''

2:關閉

2:關閉

2:關閉

2:關閉

2:關閉

2:關閉

[root@wenwen ~]# cat 3.txt | grep y | awk -f' ' '' > 2c.txt

[root@wenwen ~]# cat 2c.txt

2:關閉

2:關閉

2:關閉

2:關閉

2:關閉

2:關閉

三、標準錯誤輸出(stderr)

錯誤輸出重定向:2>

錯誤追加重定向:2>>

[root@wenwen ~]# cat 4c.txt || cat 5.txt

cat: 4c.txt: 沒有那個檔案或目錄

ijsla

#99999999

[root@wenwen ~]# (cat 4c.txt || cat 5.txt)> testtrue.txt 2> testfales.txt         #正確的輸出到true,錯誤的輸出到fales中,另外如果不加小括號,用管道符「|」的話會報錯,因為管道符只會處理經由前面乙個命令傳來的正確訊息,也就是standard output的資訊,對於standard error沒有直接處理能力

[root@wenwen ~]# cat testtrue.txt

ijsla

#99999999

[root@wenwen ~]# cat testfales.txt

cat: 4c.txt: 沒有那個檔案或目錄

注:將正確的輸出和錯誤的輸出都指定到同乙個檔案上

[root@wenwen ~]# (cat 4c.txt || cat 5.txt) > 2cc.txt 2>&1

[root@wenwen ~]# cat 2cc.txt

cat: 4c.txt: 沒有那個檔案或目錄

ijsla

#99999999

ziwenzhou

Linux重定向(輸入輸出重定向)

我們知道,linux 中標準的輸入裝置預設指的是鍵盤,標準的輸出裝置預設指的是顯示器。而本節所要介紹的輸入 輸出重定向,完全可以從字面意思去理解,也就是 通常是用檔案或命令的執行結果來代替鍵盤作為新的輸入裝置,而新的輸出裝置通常指的就是檔案。對於輸入重定向來說,其需要用到的符號以及作用如表 1 所示...

shell中輸入重定向,輸出重定向,管道

什麼是檔案描述符 1 程序中開啟乙個檔案就會有乙個檔案描述符 2 檔案描述符是乙個非負整數 3 系統為每乙個程序維護乙個檔案描述符表 程序級檔案描述符 4 同乙個程序裡面不同檔案描述符可以對應同乙個檔案 乙個檔案被開啟多次 5 不同程序的檔案描述符可以相同 不影響 可以指向同乙個檔案,也可以指向不同...

輸入輸出重定向 雙向重定向tee

簡單一句話概括 使用輸入重定向能把檔案匯入到命令中,而輸出重定向則是能夠把原本要輸出到螢幕的資料資訊寫入到指定檔案中 重定向詳解 linux啟動後,會預設開啟3個檔案描述符 通過分配的乙個數字,實現對檔案的讀寫操作 分別是 標準輸入standard input 0,正確輸出standard outp...