天天看點

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

一、标準輸入(STDIN)

A.輸入重定向(标準輸入):<

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

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

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' ' '{print $4}'

2:關閉

[root@wenwen ~]# cat 3.txt | grep y | awk -F' ' '{print $4}' > 2c.txt

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

三、标準錯誤輸出(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

[root@wenwen ~]# cat testfales.txt

注:将正确的輸出和錯誤的輸出都指定到同一個檔案上

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

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

本文轉自飛奔的小GUI部落格51CTO部落格,原文連結http://blog.51cto.com/9237101/1922927如需轉載請自行聯系原作者

ziwenzhou