管理Linux中的輸入與輸出

Linux系統中輸入與輸出的定義

輸入:

Stdin[標準輸入流]

  • 輸入是指系統外接向系統中傳遞的信息

系統外接向系統中傳遞數據的方式如下

  • 鍵盤
  • 鼠標
  • 輸入命令

輸出

stdout[標準正確輸出]

  • 在命令順利執行完成後產生的字符串
  • stdout在Linux中的輸出編號爲1

stderr[標準錯誤輸出]

  • 在命令失敗執行完成後產生的字符串
  • stderr在Linux中的輸出編號爲2

字符設備

  • 字符設備是指在I/O傳輸過程中以字符爲單位進行傳輸的設備,例如鍵盤,打印機等
  • 字符設備是內存中開啓的虛擬設備並出真實存在

重定向輸出

重定向輸出的方法

符號 用途
> 重定向正確輸出
2> 重定向錯誤輸出
&> 重定向所有輸出
find /etc/ -name passwd  ##全部顯示
find /etc/ -name passwd >right.out  ##把正確的輸出並保存到right.out文件
find /etc/ -name passwd 2>wrong.out ##把錯誤的輸出並保存到wrong.out文件
find /etc/ -name passwd &>all.out  ##把全部輸出並保存到all.out文件


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

  • 原命令顯示出來的

原始命令的顯示

  • 把正確的輸出並且保存到right.out文件

把正確的輸出並保存

  • 把錯誤的輸出並且保存到wrong.out文件
  • 把全部輸出並且保存到all.out文件

輸出錯誤的以及輸出全部的結果顯示

  • 把錯誤的刪除不顯示出來
find /etc/ -name passwd 2> /dev/null

刪除錯誤的,使其不顯示出來

追加輸出

追加符號

符號 用途
>> 追加正確輸出
2>> 追加錯誤輸出
&>> 追加全部輸出
echo hello world >> myr ##把hello world 追加到myr文件
find /etc/ -name passwd >>myr  ##把正確的追加到myr文件
find /etc/ -name passwd 2>>myr ##把錯誤的追加到myr文件
find /etc/ -name passwd &>>myr  ##把全部追加到myr文件

管道

管道定義

  • 把輸出變成後一條命令的輸入

管道的相關符號

符號 用途
管道符
2>&1 將編號爲1的輸出轉換爲2
tee 複製輸出到指定位置
ls /bin | wc -l ##統計/bin中有多少文件
find /etc/ -name passwd | wc -l ##默認只有正確的
find /etc/ -name passwd 2>&1 | wc -l ##把錯誤的正確的都輸出並統計
find /etc/ -name passwd 2>&1 | tee file1 | wc -l  ## 將輸出內容複製到file1並且保存
 

輸出重定向

輸入重定向

  • 用符號從文件中獲取輸入

輸入重定向符號

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