Stdout

什麼是非標準輸入/輸出/錯誤

  • September 28, 2018

我讀過提到標準輸入/輸出/錯誤的書籍/教程。我的理解是:

  1. 標準輸入/輸出/錯誤是程序的概念(即,如果有人提到標準輸入/輸出/錯誤,他們實際上是在談論特定程序的標準輸入/輸出/錯誤。談論****標準輸入沒有意義**/輸出/**文件錯誤。)
  2. Linux 中大多數程序的標準輸入是鍵盤,標準輸出/錯誤是螢幕。

我的問題:如果有標準, Linux 中程序的非標準輸入/輸出/錯誤是什麼?

文件描述符 0、1 和 2 在程序被execed 時預設提供,並與 、 和stdin相關stdoutstderr。如果一個程序需要額外的 I/O 通道,它會打開從 3 開始的非標准文件描述符。

對於 1.:是

對於 2.:對於未重定向 I/O 的互動式程序來說,情況確實如此。其他程序(例如cron作業)很可能有不同的關聯。

引用自:https://unix.stackexchange.com/questions/472000