輸出信息包括正確信息和錯誤信息。標準的輸出設備:顯示器,標準輸入設備:鍵盤,掃描儀等。
使用命令 ll /dev/std*可以查看輸入輸出設備:
lrwxrwxrwx. 1 root root 15 Jul 23 10:48 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 Jul 23 10:48 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Jul 23 10:48 /dev/stdout -> /proc/self/fd/1
數字0代表標準的輸入(設備),1代表了標準的正確輸出(設備),2就代表了標準的錯誤輸出(設備)
輸出重定向:
命令 > 文件:把正確的輸出覆蓋到指定文件中,如:ls > a.txt,正確輸出後加空格再跟文件
命令 >> 文件:把正確的輸出追加到指定文件中,如:ls >> a.txt,正確輸出後加空格再跟文件
命令 2>文件:把錯誤的輸出覆蓋到指定文件中,如:xxxbcvfda678 2>a.txt,錯誤輸出緊跟文件,沒有空格
命令 2>>文件:把錯誤的輸出追加到指定文件中,如:xxxbcvfda678 2>>a.txt,錯誤輸出緊跟文件,沒有空格
命令 > 文件1 2>文件2:把正確的輸出覆蓋到文件1中,把錯誤的輸出覆蓋到文件2中,錯誤輸出緊跟文件,沒有空格
命令 &>文件:把正確或者錯誤的輸出都覆蓋到文件中。錯誤輸出緊跟文件,沒有空格
命令 > 文件 2>&1:把正確或者錯誤的輸出都覆蓋到文件中
命令 &>>文件:把正確或者錯誤的輸出都追加到文件2中。錯誤輸出緊跟文件,沒有空格
命令 >> 文件 2>&1:把正確或者錯誤的輸出都追加到文件2中
命令 >> 文件1 2>>文件2:把正確的輸出追加到文件1中,把錯誤的輸出追加到文件2中。錯誤輸出緊跟文件,沒有空格
輸出重定向:
命令 < 文件:把文件作爲命令的輸入
命令 << 標識符:把標識符之間的內容作爲文件的輸入:
如: wc EOF 4416 fdafdasf hello fdlafjl EOF
wc [-選項] [文件名]
選項:
-c 統計字符數
-w 統計單詞數
-l 統計行數
例如:wc
dsafads
hello
world
abc
輸完按ctrl+d,就會統計輸入了多少行,多少個單詞,多少個字符
輸入輸出在腳本程序中使用特別廣泛!
管道符:
格式:命令 | 命令2: 把命令1的輸出作爲命令2的操作對象
如:ls -l | more : 把ls -l的輸出結果分屏顯示,使用enter查看下一頁
不是所有的命令都支持管道的輸入,xargs可以讓不支持管道的命令間接的去支持,xargs命令將參數列表轉換成段傳遞給其他命令
如:ls | xargs -t rm -rf 這樣就將ls列出來的結果用rm命令刪除了