大多數UNIX命令執行後把它們的結果輸出到用戶終端,如date、banner、ls、who等,而有些命令在鍵入後,還需要從鍵盤得到輸入,如mail、write、cat等。在UNIX中,所有的數據都是以文件方式存在的,包括用戶終端(顯示器)、鍵盤。它們的對應關系如下表所示:
文件
設備
文件描述符
stdin
鍵盤
0
stdout
終端
1
stderr
終端
2
每次啟動一個shell,系統都會打開上述三個文件提供給用戶使用。stdin文件用來從用戶shell中讀入輸入的文件,它通常叫做標准輸入。stdout用戶shell寫標准輸出文件,也叫標准輸出文件,如果某個shell產生了輸出,它會顯示在用戶的屏幕上。而標准錯誤文件stderr存放shell寫操作產生錯誤信息的文件。
將文件的標准輸出重新定向輸出到文件,或將數據文件作為另一程序的標准輸入內容。重定向符號如下:
l < 重定向輸入來自www.Examw.com
l > 重定向輸出
l >> 重定向輸出並追加到尾部
例如:
%ls -l > file1
將ls -l命令顯示的內容存到file1中
%ls >> file1
將ls 命令顯示的內容附加存到file1的尾部
%grep abc < file1
將file1的內容作為grep abc命令的輸入
其中,“>”和“>>”為輸出重定向符,“>”將輸出內容存到重定向文件中,若文件存在,則先刪除原有內容;“>>”將輸出內容存到重定向文件的尾部。