1. 程式人生 > 實用技巧 >Linux中的輸入輸出管理

Linux中的輸入輸出管理

輸入輸出的定義

專案功能
字元裝置字元裝置就是顯示字元到螢幕上的裝置檔案
stdin標準輸入編號為0 例如鍵盤 滑鼠 打字機
stdout標準正確輸出標號為1
stderr標準錯誤輸出標號為2

正確輸出存在於 /proc/程序ID/fd/1
錯誤輸出存在於 /proc/程序ID/fd/0
預設著兩種輸出都會被系統定向到字元裝置中。
查詢程序ID命令:ps在這裡插入圖片描述

如何管理輸入

輸入: 外界傳遞到程式中的資訊

輸入重定向

命令: <

tr ‘a-z’ ‘A-Z’ < test把test檔案中的內容定向到tr程式中

在這裡插入圖片描述

多行錄入

命令:<<
tr ‘a-z’ ‘A-Z’ <<EOF(字元任意)
test 此處的test不能表示為檔名稱只表示test字元

test1
EOF (當首字母再次出現表示錄入結束)
在這裡插入圖片描述
注意:字元任意

如何管理系統輸出

輸出重定向

命令功能
find /etc -name passwd > westos.out重定向正確輸出
find /etc -name passwd 2> westos.out重定向錯誤輸出
find /etc -name passwd &> westos.out重定向所有輸出

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

注意:如上圖,重定向管理輸出後會覆蓋原檔案的內容

追加

命令功能
find /etc -name passwd >> westos.out追加正確輸出
find /etc -name passwd 2>> westos.out追加錯誤輸出
find /etc -name passwd &>> westos.out追加所有輸出

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
注意:追加和重定向功能類似,但是不會覆蓋原檔案內容

管道" | "

把前一條命令的輸出變成輸入傳遞到下一條命令進行操作
注意:
*管道只處理正確輸出:
在這裡插入圖片描述
*2>&1把編號為2的輸入轉換到編號為1的輸出中:
在這裡插入圖片描述
*tee 複製輸出到指定位置
管道在一條命令中可以使用多次
在這裡插入圖片描述
在這裡插入圖片描述

如上兩張圖,可以更好的理解管道"|"對輸出到輸入的轉換。