linux基礎-重定向。實驗環境說明:rhel7(虛擬機器)
首先,記住 linux下一切皆檔案,linux系統中使用檔案來描述各種硬體,裝置資源等。
在實際的linux維護中,可以改變輸入輸出內容的方向.
輸入:鍵盤 滑鼠
輸出:顯示器
不使用預設的標準輸入輸出裝置,即重定向.
檔案描述符是乙個簡單的整數,用以標明每乙個被程序所開啟的檔案,第乙個開啟的檔案是0,第二個是1,依此類推。
標準輸入,標準輸出和標準錯誤預設使用鍵盤和顯示器作為關聯裝置與作業系統進行互動完成最基本的輸入,輸出操作.從鍵盤接受使用者輸入的各種命令字串,將命令的結果輸出到螢幕上如果命令執行出錯,也會將錯誤資訊反饋到螢幕上.
stdin 標準輸入 預設的裝置是鍵盤 檔案編號為:0
重定向:資料**於檔案
stdout 標準輸出 預設的裝置是 顯示器 檔案編號為:1
重定向:結果輸出到檔案
stderr 標準錯誤 預設的裝置是顯示器 檔案編號為:2
重定向:錯誤資訊傳送到檔案
將命令的正常輸出結果儲存到指定的檔案中,而不是直接顯示在顯示器的螢幕上。即結果在檔案中。
重定向輸出使用」>」 「>>」 操作符號
> 覆蓋檔案
>> 追加內容
注意:若重定向的輸出的檔案不存在,則會新建該檔案,然後將命令的輸出結果儲存到該檔案中。
將命令中接收輸入的途徑由預設的鍵盤改為其他檔案.而不是等待從鍵盤輸入。即從檔案讀取資料
重定向輸入使用」
通過重定向輸入可以使一些互動式操作過程能夠通過讀取檔案來完成
如:自動完成密碼設定
我們先來編輯乙個儲存密碼的txt檔案,裡面寫入密碼如下:
ok,密碼編輯完成,下面我們新增乙個使用者,並修改其密碼為我們passwd.txt裡面的內容
[root@study exercise]# useradd wang
[root@study exercise]# passwd --stdin wang < passwd.txt
這樣子就可以了,會自動修改密碼,平常我們需要手動輸入密碼,然後還需重新確認一遍密碼。
通過檔案中的內容作為輸入的資料,沒有互動式的操作語句更方便在shell指令碼程式中使用,可以大大的減少程式被打斷的過程 提高指令碼的執行效率.
將命令執行過程**現的錯誤資訊 (選項或引數錯誤) 儲存到指定的檔案,而不是直接顯示到顯示器。即將錯誤資訊儲存到檔案
錯誤重定向使用」2>」 「2>>」 操作符號
2> 覆蓋檔案
2>> 追加內容
2指的是錯誤檔案的編號 (在使用標準的輸入和輸出省略了1 0 編號)
在實際應用中.錯誤重定向可以用來收集執行的錯誤資訊.為排錯提供依據;對於shell指令碼還可以將無關緊要的錯誤資訊重定向到空檔案/dev/null中,以保持指令碼輸出的簡潔。
使用」2>」操作符時,會想使用」>」一樣覆蓋目標檔案的內容,若追加而不覆蓋檔案的內容即可使用」2>>」操作符。
Linux基礎 管道與重定向
fd 檔案描述符 檔案控制代碼 程序使用檔案描述符來管理開啟的檔案 是數字,0 255 fd是訪問檔案的標識,即鏈結檔案 0是鍵盤唯讀,標準輸入 1,2是終端可以理解是螢幕 1標準正確輸出,2標準錯誤輸出 3 是檔案,可讀可寫ls proc pid fd 檢視鏈結檔案 ln s 1.txt 333 ...
Linux基礎之重定向,管道
fd簡介 file descriptors fd,檔案描述符 程序使用檔案描述符來管理開啟的檔案 fd是訪問檔案的標識,即鏈結檔案 0是鍵盤唯讀,1,2是終端可以理解是螢幕,3 是檔案,可讀可寫 示例通過我們非常熟悉的vim程式。來觀察乙個程序的fd資訊。1.通過乙個終端,開啟乙個文字。vim 1....
Linux中重定向 追加重定向與輸入重定向
簡單介紹一下重定向 追加重定向與輸入重定向,輸入追加重定向的用法 重定向 我們可以將想要輸出的內容通過重定向新增到某個檔案中 ps 將hello寫入到當前資料夾下的a.txt檔案中,然後檢視a.txt檔案內容 追加重定向 追加重定向和重定向大致相同,不同點是追加重定向在檔案的基礎上繼續新增內容 ps...