Linux-(16)管道和重定向
? Linux的命令行為我們提供了管道和重定向機制,通過管道和重定向就可以完成多命令協(xié)作。
? 命令行shell的數(shù)據(jù)流有以下三種定義:
| 名稱 | 說明 | 編號 | 默認 |
| STDIN | 標準輸入 | 0 | 鍵盤 |
| STDOUT | 標準輸出 | 1 | 終端 |
| STDERR | 標準錯誤 | 2 | 終端 |
? 命令通過STDIN接收參數(shù)或數(shù)據(jù),通過STDOUT輸出結果或通過STDERR輸出錯誤,通過管道和重定向可以控制CLI的數(shù)據(jù)流
? 如果將輸出重定向到/dev/null就不會有輸出了(這個通常用于在結果中過濾錯誤信息)
? 重定向:
? > ?將STDOUT重定向到文件(覆蓋),例:echo "xxx" > outfile
? >> ?將STDOUT重定向到文件(追加),例:echo "xxx" >> outfile
? 2> ?將STDERR重定向到文件(覆蓋),例:ls nothere 2> errout
? 2>&1 ?將STDERR與STDOUT結合,例:ls nothere 2>&1 alloutput
? < ?重定向STDIN, 例:grep xxx < /etc/passwd
? 管道:
? | (一個豎線):將一個命令的STDOUT(前一個命令)作為另一個命令(后一個命令)的STDIN,例:ls -l | grep xxx
? 管道通常用來組合不同的命令,以實現(xiàn)一個復雜的功能,重定向通常用來保存某命令的輸出信息或錯誤信息,可以用來記錄執(zhí)行結果或保存錯誤信息到一個指定的文件。
總結
以上是生活随笔為你收集整理的Linux-(16)管道和重定向的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序分享功能开发及调试方法
- 下一篇: 64位archlinux运行steam