Linux日常之數據重定向


Linux在啟動后,會默認打開3個文件操作符,分別是

  (1)標准輸入0,standard input

  (2)正確輸出1,standard output

  (3)錯誤輸出2,standard error

 

對於一條Linux命令執行的過程是:

  (1)首先存在一個輸入:可以從鍵盤輸入,也可以從文件輸入

  (2)若命令成功執行,將會把結果輸出到屏幕上(默認是輸出到屏幕的)

  (3)若命令執行失敗,同樣會把結果輸出到屏幕上(默認也是輸出到屏幕的)

 

在使用的過程中,有時不希望把結果輸出到屏幕上,而是希望輸出到文件或其他設備上,這是就需要使用所謂的數據重定向

Linux下的輸入輸出操作符:

  (1)標准輸入(stdin):0,使用<或<<

  (2)正確輸出(stdout):1,使用>或>>

  (3)錯誤輸出(stderr):2,使用2>或2>>

  注意,其中<或>表示覆蓋,<<或>>表示追加

 

輸出重定向

  1. 已知test.sh存在,而test1.sh不存在

    

    此時,正確輸出和錯誤輸出都顯示在屏幕上!

  2. 要求,把正確輸出寫入文件stdout.txt中,錯誤輸出顯示在屏幕上

    

  3. 要求,把錯誤輸出寫入文件stderr.txt中,正確輸出顯示在屏幕上

    

  4. 要求,把正確輸出和錯誤輸出都寫入統一文件stdall.txt中

    

  5. 要求,將錯誤信息關閉,使用的是2>&-

    

  6. 要求,將所有的輸出信息都關閉,使用的是1>&- 2>&-

    

 

  擴展:“> file 2>&1”與 “2>&1 > file”的區別

    (1)“> file 2>&1”,將正確輸出和錯誤輸出都重定向到文件file中

      

    (2)“2>&1 > file”,將錯誤輸出顯示在屏幕上,將正確輸出重定向到文件file中

      

 

輸入重定向

  1. 從鍵盤獲得數據,按下【Ctrl】+d即可保存離開

    

  2. 以給定字符作為結束

    

  3. 從文件file獲取數據

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM