Linux系統的輸入輸出

2021-09-08 00:00:34 字數 2064 閱讀 999

>

定向正確輸出

2>

定向錯誤輸出

&>

定向所有輸出

注意:定向會覆蓋原有內容

示例:注意:以下實驗必須在普通使用者下執行(root使用者下執行沒有錯誤輸出因為root使用者有所有檔案的許可權)

在student使用者下執行命令:find /etc/ -name passwd    注:在/etc/檔案下尋找passwd檔案

系統會輸出正確和錯誤的輸出(錯誤的輸出是因為student使用者沒有此檔案的許可權)

執行:find /etc/ -name passwd> file  

由上圖和上上個圖的對比可以發現當將正確輸出匯入到file檔案中時候,命令的顯示結果就只有錯誤的輸出了,檢視file檔案

file檔案中只有正確的輸出

如果將錯誤的輸出匯入到檔案file中,實驗結果相反

將所有的輸出都匯入到file檔案中(可以設想以下實驗結果:命令之後在shell中沒有顯示輸出,file檔案中既有正確輸出也有錯誤輸出)

實驗結果與預期相符

>file

清空file

實驗結果:

追加正確輸出到檔案的末尾

2>>

追擊錯誤的輸出到檔案的末尾

&>>

追加所有輸出到檔案的末尾

注意:輸出追加不會覆蓋原檔案的內容

示例:

如上圖: file檔案原有內容為hello world,執行find /etc/ -name passwd >>file命令後,shell將錯誤輸出輸出到螢幕上正確輸出追加到file檔案之後

執行 find /etc/ -name passwd 2>>file 命令後,將正確輸出輸出到shell上,錯誤輸出追加到檔案file之後,如下圖:

命令:find /etc/ -name passwd &>>file

結果:將所有輸出追加到file檔案後,shell上不顯示,如下圖

如果我們想知道/etc/下有多少個檔案,我們可以使用ls /etc/進行查閱,不過ls /etc/命令之後輸出太多導致一下子就將螢幕填滿了導致,不知道前面輸出的內容是什麼,這時候我們就想用less進行檢視,可以用如下命令進行協助

之後就可以用less進行檢視了

注意:「|「符只能處理前面命令傳來的正確資訊不會傳遞錯誤資訊

管道命令必須接受來自前乙個命令的資料成為輸入的資料繼續處理才行(mv ,ls,cp等命令不能在管道符後面)

"

命令:cat>catfile

"<

命令:cat>catfile<

在輸入eof後系統會結束輸入

輸入輸出系統

早期 介面模組和dma階段 具有通道結構的階段 軟體io指令 cpu指令的一部分 通道指令 首位址 傳送字數 操作命令 硬體io裝置 io介面 裝置控制器 通道 io裝置編址 統一編址 取數存數指令 單獨編址 專門的io指令 裝置選址 傳送方式 序列 並行 聯絡方式 立即響應 led 非同步工作 序...

linux 輸入輸出

標準輸入 或0 標準輸入重定向,箭頭方向就是資料流向,或0 追加輸入重定向,箭頭方向就是資料流向,標準輸出 或1 標準輸出重定向,箭頭方向就是資料流向,把左邊的資料流向到右邊,會清空右邊之前的資料。或1 追加輸出重定向,箭頭方向就是資料流向,清空前備份 錯誤輸出 2 標準錯誤輸出重定向,箭頭方向就是...

Linux系統輸入輸出管理

在做輸入輸出實驗時,需要切換到普通使用者 輸出分為兩類 正確輸出,為1 錯誤輸出,為2 重定向輸出 覆蓋原檔案內容 重定向正確輸出 2 重定向錯誤輸出 重定向所有輸出 find etc name passwdfind etc name passwd westos.out 定向正確輸出 find et...