天天看點

關于重定向與标準輸入輸出

可以實作鍵盤标準輸入的指令有兩個:

r e a d語句從鍵盤或檔案的某一行文本中讀入資訊,并将其賦給一個變量

$read name

chenlinping

$echo $name

chenlinping

$read firstname lastname

Chen lin ping

$echo $firstname

chen

$echo $lastname

lin ping

注意:如果輸入文本域過長,Shell 将所有的超長部分賦予最後一個變量

cat 是一個簡單而通用的指令,可以用它來顯示檔案内容,建立檔案,還可以用它來顯示

控制字元。

$cat > file.txt

this is great

<CTRL-D>

$pg file.txt

this is great

另外可以使用-v來顯示控制字元。

$cat -v file.txt

this is great^M

command > filename 把标準輸出重定向到一個新檔案中

command >> filename 把标準輸出重定向到一個檔案中(追加)

command 1 > fielname 把标準輸出重定向到一個檔案中

command > filename 2>&1 把标準輸出和标準錯誤一起重定向到一個檔案中

command 2 > filename 把标準錯誤重定向到一個檔案中

command 2 >> filename 把标準輸出重定向到一個檔案中(追加)

command >> filename 2>&1 把标準輸出和标準錯誤一起重定向到一個檔案中 (追加)

command < filename >filename2 把command指令以filename檔案作為标準輸入,以filename2檔案作為标準輸出

command < filename 把command指令以filename檔案作為标準輸入

command << delimiter 把從标準輸入中讀入,直至遇到delimiter分界符

command <&m 把檔案描述符m作為标準輸入

command >&m 把标準輸出重定向到檔案描述符m中

command <&- 把關閉标準輸入

使用/dev/null

把/dev/null看作"黑洞". 它非常等價于一個隻寫檔案. 所有寫入它的内容都會永遠丢失. 而嘗試從它那兒讀取内容則什麼也讀不到. 然而, /dev/null對指令行和腳本都非常的有用.