07輸入輸出重定向

2022-09-07 06:21:11 字數 1719 閱讀 9222

1.概述

輸入重定向:指把檔案匯入到命令中。

標準輸入重定向(stdin,檔案描述符為0):預設從鍵盤輸入,也可以從其他檔案或命令中輸入。

輸出重定向:把原來要輸出到螢幕的資料資訊寫入到指定檔案中。

標準輸出重定向(stdout,檔案描述符為1):預設輸出到螢幕。

錯誤輸出重定向(stderr,檔案描述符為2):預設輸出到螢幕。

2.輸入重定向

命令 < 檔案     將檔案作為命令的標準輸入
[root@bogon 0612]# cat b.txt

bbbbbbbbbbbbbb

bbbbbbbbbbbbbb

//統計檔案行數

[root@bogon 0612]# wc -l < b.txt

2

3.輸出重定向
命令 > 檔案     將標準輸出重定向到乙個檔案中(清空原有檔案的資料)

命令 >> 檔案 將標準輸出重定向到乙個檔案中(追加到原有內容的後面)

//將ls -l的輸出重定向到ls.txt檔案中

[root@bogon 0612]# ls -l

total 12

-rw-r--r--. 1 root root 17 jun 12 17:46 a.txt

-rw-r--r--. 1 root root 16 jun 12 17:46 b.txt

-rw-r--r--. 1 root root 147 jun 12 17:47 ls.txt

[root@bogon 0612]# ls -l > ls.txt

[root@bogon 0612]# cat ls.txt

total 8

-rw-r--r--. 1 root root 17 jun 12 17:46 a.txt

-rw-r--r--. 1 root root 16 jun 12 17:46 b.txt

-rw-r--r--. 1 root root 0 jun 12 17:48 ls.txt

//將ls -l的輸出追加到a.txt中

[root@bogon 0612]# cat a.txt

aaaaaaaaaaaaaaa

[root@bogon 0612]# ls -l >> a.txt

[root@bogon 0612]# cat a.txt

aaaaaaaaaaaaaaa

total 12

-rw-r--r--. 1 root root 17 jun 12 17:46 a.txt

-rw-r--r--. 1 root root 16 jun 12 17:46 b.txt

-rw-r--r--. 1 root root 147 jun 12 17:48 ls.txt

把命令的報錯資訊寫入到檔案

當使用者在執行乙個自動化的 shell 指令碼時,這個操作會特別有用,而且特別實用,因為它可以把整個指令碼執行過程中的報錯資訊都記錄在檔案中,便於安裝後的排錯工作。

//用ls命令檢視乙個不存在的檔案

root@bogon 0612]# ls ******xx 2> err.txt

[root@bogon 0612]# cat err.txt

ls: cannot access ******xx: no such file or directory

輸入輸出重定向

使用標準輸入流,標準輸出流和標準錯誤流,這些標準流都被預分配給鍵盤和顯示器。在需要的時候,可以使用重定向臨時改變這些預設分配。重定向是這樣一種過程,我們借助它指定乙個用於替代某個 標準檔案的檔案。輸入重定向 可以將標準輸入從鍵盤重定向到任何文字檔案。輸入重定向運算子為小於號 意味著該命令從此給 派的...

輸入輸出重定向

1.標準輸入的控制 語法 命令 檔案將檔案做為命令的輸入。例如 mail s mail test wesongzhou hotmail.com file1 將檔案file1 當做信件的內容,主 題名稱為mail test,送給收信人。2.標準輸出的控制 語法 命令 檔案將命令的執行結果送至指定的檔案...

輸入輸出重定向

想象一下,當我們寫了個程式,開始是在命令列下執行的程式,後來用mfc之類的改寫為窗體程式,原先用printf輸出的trace都不可見了,但是我們又需要 輸出到檔案分析 怎麼辦?1 開始寫的時候你定義乙個mytrace的巨集 2 你可以把printf換成fprintf 3 使用輸出重定向。第一種情況很...