認識Linux資料重定向redirection
阿新 • • 發佈:2019-01-05
今天kiddd帶大家學習的是LInux的一個知識內容——redirection,重定向。瞭解重定向之前首先需要知道Linux的三種檔案描述符。
輸出重定向
當我們正常執行Linux命令時,Linux命令列會將命令寫入後的輸出,寫入到標準輸出檔案當中,並將輸出的結果列印到螢幕上,如:
這種檔案叫做標準輸出檔案,它到檔案描述符為1。
第二種情況呢,當我們執行錯誤的Linux命令時,Linux會將錯誤命令後的輸出寫入到檔案描述符為2的標準錯誤輸出檔案中,並顯示到螢幕上。
而將原本輸出在螢幕上的內容轉而輸出到其他地方——這就是重定向的一個基本的作用。
將標準輸出重定向到某個檔案中
如將ls當前目錄的輸出重定向到一個檔案中,操作到方法是:ls >xxx.txt
我們開啟檢視一下,果然,輸出到內容被重定向到了output.txt中
將標準錯誤輸出重定向到某個檔案中
標準錯誤輸出的重定向簡單地使用>操作符是行不通的,這時我們就用到了之前學習的知識——加上標準錯誤輸出檔案描述符:2。ls XXX 2>output.txt
搞定。
- 將兩個檔案合併成一個檔案
重定向的另一個作用即合併檔案:
xxx file1 file2 >file3
(file1中有hello,file2中有world,file3為空。重定向後file3中有字串:hello world)
同時重定向所有輸出:
s &>output.txt
檔案存在時,>file ,清空檔案。
- 檔案不存在時,>file,新建檔案。
- 重定向在指令碼中的使用:
!/usr/bin/env bash
>output.txt
for dir in /bin/usr /usr/bin
do
ls $dir &>output.txt
done
輸入重定向
除了輸出重定向外,還有輸入重定向,其作用為:
將某個從鍵盤讀取的輸入重定向到讀取某個檔案。
其操作符為:<
(與輸出重定向剛好相反)
總結
Linux命令是軟體開發者必須掌握的。重定向在日常開發中有很多衍生可以提升效率。另外進階使用及shell變成更是用處多多,更多的等待著你去探索。