Linux基本配置和管理 2 ---- Linux多命令協作----管道及重定向
Linux基本配置和管理 1---- Linux網絡基本配置
http://www.2cto.com/os/201309/240457.html
1 管道和重定向
1 在Linux中大多數命令都很簡單,很少出現復雜的命令,每個命令只是實現一個簡單的功能,我們可以通過組合不同的命令來實現復雜的功能
2 在Linux中幾乎所有的命令返回的數據都是純文本,而純文本形式的數據絕大多數是以命令形式輸入
3 多命令協作就是通過管道和重定向來完成的
4 命令行的shell的數據流定義如下
名稱 說明 編號 默認
stdin 標准輸入 0 鍵盤
stdout 標准輸出 1 終端
stderr 標准錯誤 2 終端
5 命令通過stdin接收參數或數據,通過stdout和stderr來輸出結果或錯誤
2 重定向
1 > ,將標准的輸出重定向到文件,如果本來就有這個文件則會進行覆蓋
比如我們利用echo "haha" > output ,這個會把輸出的輸出到output,然後在echo "Linuxcast" > output則會覆蓋
2 >> ,將標准的輸出重定向到文件,如果本來就有這個文件則會進行追加到後面
比如我們利用echo "tmpLinuxcast" >> output ,這個會把輸出的輸出追加到output
3 2>,將標准的錯誤重定向到文件,如果本來就有則會覆蓋
比如我們利用ls -ld www.google.com 2> output,那麼我們會把錯誤輸出到output
4 我們可以利用2>&1 來將標准的輸出和標准的錯誤重定向到某個文件
5 我們可以利用<來實現重定向標准的輸入,但是用的比較少
3 管道 |
1 grep 命令來從查找某個純文本文件裡面包含的關鍵字的文件
用法:grep 關鍵字 文件
2 將標准的輸出stdout作為另外一個命令的標准輸入stdin
比如我在家目錄輸出所有的文件的詳細信息,那麼我們利用管道來從這個輸出的信息中來grep包含關鍵字的文件