Shell自我學習 輸入 輸出重定向

2021-09-24 22:08:28 字數 1455 閱讀 7761

命令說明

command > file

將輸出重定向到 file。

command < file

將輸入重定向到 file。

command >> file

將輸出以追加的方式重定向到 file。

n > file

將檔案描述符為 n 的檔案重定向到 file。

n >> file

將檔案描述符為 n 的檔案以追加的方式重定向到 file。

n >& m

將輸出檔案 m 和 n 合併。

n <& m

將輸入檔案 m 和 n 合併。

<< tag

將開始標記 tag 和結束標記 tag 之間的內容作為輸入。

注意:

echo "jack" > users

cat users # 輸出 jack

echo "tom" > users

cat users # 輸出 tom

注意:輸出重定向會覆蓋檔案內容,如果不希望覆蓋原檔案內容可以使用追加

echo "mary" >> users

cat users

# 輸出結果

tommary

接著上面的例項,統計users檔案行數,執行以下命令:

wc -l users # 輸出結果為 2 users

# 將輸入重定向到 users

wc -l < users

# 輸出結果為 2

注意:第乙個例子會輸出檔名,第二個不會,因為它僅從標準輸入讀取內容。

執行command,從 infile 讀取內容,將輸出寫入 outfile 中。

command < infile > outfile
例項:

# 新建infile檔案,內容輸入2行字串

wc -l < infile > users

cat users

# 輸出結果為

2

如果希望將 stderr 重定向到檔案,可以這樣寫:

command 2 > file
其中2表示標準錯誤檔案,如果希望追加可以用追加的命令。

commadn 2 >> file
如果希望將 stdout 和 stderr 合併後重新定向到file,格式為:

command > file 2>&1    或    command >>file 2>&1
例如

ls 2 users > users 2>&1

cat users

# 輸出結果為

ls: 無法訪問2: 沒有那個檔案或目錄

users

Shell教程十一 Shell 輸入 輸出重定向

大多數 unix 系統命令從你的終端接受輸入並將所產生的輸出傳送回 到您的終端。乙個命令通常從乙個叫標準輸入的地方讀取輸入,預設情況下,這恰好是你的終端。同樣,乙個命令通常將其輸出寫入到標準輸出,預設情況下,這也是你的終端。重定向命令列表如下 命令說明 command file 將輸出重定向到 fi...

Shell輸入輸出

重定向至檔案 echo用於顯示,read用於讀入,其中person是變數名字,shell中變數用字使用的時候用 框起來 input and output echo what s your name?read person echo hello,效果如下圖 顯示轉義字元 echo it is a te...

shell 輸入輸出

標準輸入 stdin 0,或者 鍵盤 標準輸出 stdout 1,或者 終端顯示器 標準錯誤輸出 stderr 2,2 或者2 指令執行失敗返回的錯誤資訊,終端顯示器 將輸出結果重定向到檔案中 1.覆蓋到檔案中 command outputfile 檔案的完整路徑 兩邊需要空格 2.追加到檔案中 新...