iT邦幫忙

2019 iT 邦幫忙鐵人賽

0
自我挑戰組

30日Linux學習系列 第 9

Linux 重導向

  • 分享至 

  • xImage
  •  

參考來源:
https://www.guru99.com/linux-redirection.html
https://ithelp.ithome.com.tw/articles/10202925

重導向(Redirection):
當執行指令,可以改變輸入、輸出裝置
預設輸入是鍵盤,預設輸出是螢幕。通過重導向,可以更改上述標準輸入/輸出。

輸出重導向:
用>符號+檔案名
例:
ls -al>列表
https://ithelp.ithome.com.tw/upload/images/20181222/201121747itqiCiG50.png
這裡命令ls -al的輸出被重導向到文件“listing”而不是屏幕。

注意:在將命令輸出重導向到文件時使用正確的文件名。如果存在具有相同名稱的文件,則重導向命令將刪除該文件的內容,然後可能會被覆蓋。
如果不希望覆蓋文件但想要向文件添加更多內容,則應使用“>> ”。

輸入重導向則是用<符號+檔案名。

接著是文件描述符號File Descriptors(FD)
在Linux / Unix中,一切都是文件,常規文件,目錄,甚至設備都是文件。每個文件都有一個稱為文件描述符號(FD)的關聯編號。

螢幕也有File Descriptor.,當程式正在執行輸出,程式會得到螢幕的File Descriptor,這樣你就看的到螢幕輸出的東西,如果得到的是印表機的File Descriptor,那就會變印表機輸出的東西。

錯誤重導向:
無論何時在終端執行程序/命令,都會打開3個檔案,即標準輸入,標準輸出,標準錯誤。
https://ithelp.ithome.com.tw/upload/images/20181222/20112174XC2ywcEwsF.png
運行程序時,這些文件始終存在。如前所述,文件描述符與這些文件中的每一個相關聯。
由圖可知其相關聯
檔案 檔案描述符號
標準輸入STDIN 0
標準輸出STDOUT 1
標準錯誤STDERR 2

錯誤重導向是Unix / Linux的一個非常常用的功能。

許多的UNIX用戶會認為許多命令會給你帶來大量的錯誤。

例如,在搜索文件時,通常會獲得權限拒絕錯誤。這些錯誤通常無助於搜索特定文件的人。
在執行shell腳本時,您通常不希望錯誤消息使正常的程序輸出變得混亂。
解決方案扁是將錯誤消息重導向到檔案。


https://ithelp.ithome.com.tw/upload/images/20181222/20112174idFJCBFsew.png
上面我們正在執行一個名為myprogram的程序。

標準錯誤的文件描述符是2。

使用“2>”我們將錯誤輸出重導向到名為“errorfile”的文件

因此,程序輸出不會出錯。

之後學多重指令。


上一篇
Linux權限
下一篇
Linux 多重指令
系列文
30日Linux學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言