Shell命令(2)——文件描述符和重定向符


文件描述符

  1. stdin:標准輸入,接收鼠標、鍵盤或其他輸入設備的輸入信息,文件描述符是1
  2. stduot:輸出所有的正常輸出結果,文件描述符是2
  3. stderr:輸出所有錯誤信息,文件描述符是3

重定向符

  1. “>":使用方法,“command > file",進程接受標准輸入后,該重定向符使得標准輸出改變方向,不輸出到屏幕,而是輸出到一個文件。標准錯誤輸出依然不變,默認輸出到屏幕或相應的設備。另外,若文件已存在,則原有內容就會被擦除。例如:

  2. ”>>" :與上面一個類似,只是在寫入文件時,不將文件內容清除,而是在后面追加。目標文件不存在時,則會創建該文件。
  3. ">&":1,2均為標准輸出的重定向符。若要將錯誤信息輸出到文件中,就要用到">&"重定向。這個命令在寫入文件也會清空原有內容。
  4. ">>&“:與上一個類似,只是以追加的方式寫入文件
  5. "<":"command < file ",進程就會從文件中獲取輸入信息,而不是從屏幕上輸入。
  6. "<<":重定向符的一種,其后面跟的是定界符。例如:
  7. "command %n%c file”:command 輸出重定向的命令 ,%n 文件描述符,默認值為1,%c 重定向符 ,file 目標文件。
  8. 幾個復雜的重定向舉例:
    1. 將標准錯誤重定向為標准輸入 command 2>&1
    2. 第一個文件既作為標准輸入也作為標准輸出 command <> file
    3. 把文件描述符x作為標准輸入 command <&x
    4. 把標准輸出重定向到文件描述符x中 command >&m
    5. 關閉標准輸出 command 1>&-
    6. 關閉標准錯誤輸出 command 2>&-
    7. 關閉標准輸入 command 0<&-


免責聲明!

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



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