16 在Unix和Linux系統中,標準輸出(stdout)的檔案描述值為何?
(A) 0
(B) 1
(C) 2
(D) 3
答案:登入後查看
統計: A(1), B(6), C(1), D(0), E(0) #3399863
統計: A(1), B(6), C(1), D(0), E(0) #3399863
詳解 (共 2 筆)
#7318725
【第一步:找關鍵字】
關鍵字:
-
標準輸出(stdout)
-
檔案描述值(file descriptor)
-
Unix/Linux
? 這題其實是「背 + 理解」題
? 要記住三個標準描述符
【第二步:白話翻譯】
這題在問:
? 「電腦裡有一組固定的編號,代表鍵盤、螢幕、錯誤訊息,那 stdout 是幾號?」
【第三步:解題思路】
這題在考什麼觀念?
? 標準檔案描述符(Standard File Descriptors)
解題步驟
-
記住三個固定編號
-
對應名稱
-
找出 stdout 的編號
原理與規則(生活比喻)
把電腦的輸入輸出想成三條固定管道:
| 管道 | 用途 | 編號 |
|---|---|---|
| 鍵盤輸入 | stdin | 0 |
| 螢幕輸出 | stdout | 1 |
| 錯誤訊息 | stderr | 2 |
? 就像三個固定插孔
【第四步:選項分析】
(A) 為什麼錯?
✘ 錯
0 是:
? stdin(標準輸入)
(B) 為什麼對?
✔ 正確(本題答案)
1 是:
? stdout(標準輸出)
(C) 為什麼錯?
✘ 錯
2 是:
? stderr(標準錯誤)
(D) 為什麼錯?
✘ 錯
3 之後是:
? 一般開啟檔案或 socket 才會用
【觀念補充與延伸】
核心觀念定位
? 系統程式 / Unix I/O
? 必考基礎題(送分題)
法條或定義
-
檔案描述符(File Descriptor):
作業系統用來識別開啟檔案或 I/O 通道的整數編號
三大標準描述符(一定要背)
| 名稱 | 編號 |
|---|---|
| stdin | 0 |
| stdout | 1 |
| stderr | 2 |
觸類旁通(舉一反三)
對比概念
-
> 重新導向 stdout
-
2> 重新導向 stderr
例如:
ㅤㅤ
ls > out.txt
ㅤㅤ
? 把 stdout(1)導到檔案
變化題型
-
問:2> error.log 是什麼?
? 把錯誤輸出導到檔案
【記憶口訣】
? 「0進 1出 2錯誤」
【常見陷阱】
學生最容易搞混的地方
把 stdout 和 stderr 搞反
心理盲點
看到「輸出」就亂選 2
避坑指南
? 記順序:
輸入 → 輸出 → 錯誤
0 → 1 → 2
0
0