對“重定向”一詞的瞭解

標準輸入輸出重定向

因爲第二週學習進程控制,涉及到shell的實現,而shell的功能中則涉及到“支持輸入輸出重定向”,因此自己必須先對這個概念有清晰的認識。

重定向:

這裏要談及的是IO重定向,IO重定向通常與fd有關,shell 的 fd 通常有10個,即0~9。

a.  在Linux 中,每一個進程都有三個特殊的文件描述指針:即常用的 fd 有三個,爲0(stdin ,標準輸入)/1(stdout ,標準輸出)/2(stderr ,標準錯誤輸出),默認與 keyboard / monitor 有關。

b.  用  <  來改變讀進的數據信道(stdin),使之從指定的文件讀進。

c.  用  >  來改變送出的數據信道(stdout  ,  stderr ),使之輸出到指定的文件。

d.  0是  <  的默認值,因此  < 與 0< 是一樣的;同理,>  與  1> 是一樣的。 

下面分別來簡單地談談標準輸入重定向和標準輸出重定向:

A.  標準輸入重定向:

語法:命令  <  文件

含義:將文件作爲命令的標準輸入

B.  標準輸出重定向:

語法:命令  >  文件

含義:將命令的執行結果送到指定文件中,若該文件存在則清除原有內容寫入,若不存在則新建一個該文件並寫入。


語法:命令  >>  文件

含義:將命令的執行結果附加到指定文件中,若該文件存在則以追加的方式寫入,若不存在則新建一個該文件並寫入。


上圖是在上一步操作的基礎上進行的。

語法:命令  >&  文件

含義:將命令在執行時屏幕上產生的任何信息寫入指定文件中。


從圖片內容可以瞭解都,>&  符號會將屏幕上產生的信息以清除寫入的方式寫入,經驗證,在文件不存在時,可以通過新建文件再寫入。


注:雖然只是一點簡單的東西,但是積少成多,所以就將這點知識以這樣的方式存儲下來。希望方便記憶,複習,添加。

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