Linux管道及重定向
Linux管道及重定向
數據流分類
命令行shell的數據流有以下定義
名稱 說明 編號 默認
STDIN 標准輸入 0 鍵盤
STDOUT 標准輸出 1 終端
STDERR 標准錯誤 2 終端
命令通過STDIN接收數據,通過STDOUT輸出結果或者通過STDERR輸出錯誤
管道和重定向
通過管道和重定向我們可以控制數據流
分類 關鍵字 作用 示例
重定向 > 將STDOUT重定向到文件(覆蓋) echo "test" > outfile
>> 將STDOUT重定向到文件(追加) echo "test" >> outfile
2> 將STDERR重定向到文件(覆蓋) ls okkkk 2> errfile
2>&l 將STDERR重定向到STDIN所在的文件 ls ok > file 2> & 1
管道 | 將第一個命令的STDOUT作為第二個命令的STDIN ls -l | grep "file_to_find"
重定向給設備/dev/null會被丟棄