在
unix
系統中,
任何命令,包括
shell本身,
預設情況下總是讀取來自終端鍵盤輸入的資料
,這個資料輸入源通常稱作標準輸入
(stdin),
其檔案描述符為0.
預設情況下
,命令的處理結果總是輸出到使用者終端的螢幕上
,這個輸出目的通常稱作標準輸出
(stdout),
其檔案描述符為1.
另外,在命令的執行期間
,如果出現問題
,相應的錯誤資訊預設情況下也將輸出到使用者的終端螢幕上
,這個輸出目的通常稱作標準錯誤輸出
(stderr),
其檔案描述符為2.
有上面的基礎知識後
,我們現在來討論
linux/unix
系統命令行的精妙之處
:輸入輸出重定向.
例如:ls -l > fname
上述命令就是把
ls命令的返回結果輸出到
fname
這個檔案中去
,但是要注意的事情是輸出前將清空原檔案內容
(如果原檔案存在).
使用ls -l >>fname
這個命令是將結果附加到原檔案後面.
grep root < fname
上述命令是在
fname
這個檔案中尋找帶有
root
這個欄位的內容
,是把標準輸入重定向為檔案輸入.
上述命令其實是簡化後的形式
,其原始形式為
0 < fname
把標準輸入重定向到指定檔案中
1 > fname
把標準輸出重定向到檔案中
2 > fname
把標準錯誤輸出重定向到檔案中
還有乙個重要的用法
i>& j
把檔案描述符
i表述的輸出檔案重定向到檔案描述符
j表示的檔案
例如
:
command_1 2 >& 1
把這個錯誤命令的標準錯誤輸出重定向到標準輸出
其原理是用指標實現的.
解釋標準輸入重定向
參考文章 標準輸入一般指的是鍵盤輸入。多數命令能接收標準輸入 如果cat不加引數,在收到 eof ctrl d 之前,它會一直監聽標準輸入 鍵盤 列印到標準輸出 顯示器 cat hello there hello there say it again say it again ctrl d cat ...
node 重定向 express 重定向
服務端重定向對非同步請求無效 如何通過伺服器讓客戶端重定向 1.狀態碼設定為302 臨時重定向,301永久重定向 瀏覽器會記住 當再次請求相同位址的時候,瀏覽器不會重新請求該位址,會直接跳轉上一次請求該位址時的重定向位址 res.statuscode 2.在響應頭中通過 location 告訴客戶端...
輸入重定向,正確輸出重定向,錯誤輸出重定向
一 標準輸入 stdin a.輸入重定向 標準輸入 作用 將原先鍵盤輸入的內容改由檔案內容代替 root wenwen cat test.txt asdas asdas asdas 按crtl d 退出 將network內容匯入到test.txt中去 root wenwen cat test.txt...