在閱讀《Orange's: 操作系統的實現》第七章時,作者同時提到 tty 與 console 兩個概念,網上解釋多有模糊不清之處。結合書本內容與個人理解,嘗試釐清這三個常被混淆的術語。
廣義上指所有字符設備,包括鍵盤、鼠標、觸控螢幕、串口等。它們的共同特徵是提供輸入。在 Linux 設備文件中表現為 /dev/tty*、/dev/input/event* 等。
指系統啟動時預設的輸出設備,通常是螢幕顯示器(桌面環境下為虛擬終端)。它僅負責輸出顯示,不具備輸入功能。內核啟動日誌、panic 訊息默認輸出至 console。對應設備文件 /dev/console。
是用戶與系統交互的介面程序。它接收 TTY 設備(鍵盤/鼠標)的輸入,經過處理(如命令行編輯、信號處理、字符回顯)後送給 Shell,再將 Shell 輸出透過 Console 顯示。常見形式:
Ctrl+Alt+F1~F6 切換的文字模式登入界面(/dev/tty1~tty6)/dev/pts/* 偽終端)TTY(輸入設備) → Terminal(交互處理程序) → Console(輸出顯示設備)
用戶敲擊鍵盤(TTY)→ 終端模擬器接收並處理按鍵 → 傳給 Shell 執行 → 結果輸出 → 顯示器顯示
三者中文皆可譯為「終端」,且在某些語境下指代重疊:
實際工作中,根據上下文判斷具體含義即可,無需過度糾結術語。