Linux重定向與管道快速上手

 Shell命令進行I/O重定向, 默認標準正確輸出路徑在/dev/pts字符設備下

Linux重定向與管道快速上手
重定向數據流的三種信息流
1、標準輸入流(stdin):代碼爲0,符號爲<或<<
2、標準輸出流(stdout):代碼爲1,符號爲>或>>
3、標準錯誤流(stderr):代碼爲2,符號爲2>或2>>
重定向的3類形式
1、>或2>:以覆蓋的方式輸出 
2、>>或2>>:以追加的方式輸出 
3、<:標準輸入流默認從鍵盤輸入,<<:用於設定結束輸入的關鍵字 
例如:cat > test.sh << EOF 則只有當輸入EOF並回車之後纔會執行完cat 命令
簡單幾個實驗說明
1 定向”hello world ”回顯內容覆蓋到test.txt
Linux重定向與管道快速上手

注意:重定向會覆蓋原文件內容

繼續將 “hehe”回顯內容追加到test.txt
Linux重定向與管道快速上手
注意:追加不會覆蓋源文件內容
2 將定向輸入內容顯示輸出到屏幕上
Linux重定向與管道快速上手
注意:只有當輸入EOF並回車之後纔會執行完cat 命令

3 查找/etc下的命名爲passwd的文件 定向正確輸出覆蓋到test.ok 定向錯誤輸出覆蓋到test.err
Linux重定向與管道快速上手

繼續查找/etc下的命名爲passwd的文件定向所有輸出到test.all
Linux重定向與管道快速上手
繼續查找/etc下的命名爲passwd的文件定向正確輸出追加到test.ok 定向錯誤輸出追加到test.err
Linux重定向與管道快速上手
注意:以上實驗必須在普通用戶下完成

管道符
1、管道命令的界定符號爲”|” 
2、管道命令僅會處理stdout,對stderr會忽略
3、管道命令必須要能夠接收來自前一個命令的數據作爲stdin

簡單的幾個實驗
注意:以下實驗必須在普通用戶下完成

1 查找/etc下的命名爲passwd的文件定向錯誤輸出清空並通過管道符顯示輸出行數

Linux重定向與管道快速上手
繼續查找/etc下的命名爲passwd的文件定向錯誤輸出清空通過把輸出保存到test文件再通過管道符顯示輸出行數

Linux重定向與管道快速上手
繼續查找/etc下的命名爲passwd的文件定向錯誤輸出2>&1轉換爲輸出流編碼爲1作爲正確輸出通過把輸出保存到test文件再通過管道符顯示輸出行數
Linux重定向與管道快速上手

2 查找/bin下的命名裏有大寫字母的文件定向錯誤輸出清空通過把輸出保存到test文件再通過管道符顯示輸出單詞數
Linux重定向與管道快速上手

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章