在看《orange‘s,操作系統的實現》這本書的時候,第七章同時出現了tty和console這兩個名詞。我查了一些網頁,但都解釋不清,結合自己的思考,給出了一些理解。
tty,包括鼠標、鍵盤、觸摸屏等,它們都是字符設備,通常用來輸入。
console,它的作用是用來顯示結果的,通常console是顯示屏,它只能輸出,不能輸入。
terminal的作用是與用戶交互的,因此可以接收tty設備的輸入。包括一套可以顯示出來的圖形界面來接收輸入,再外加對這些輸入的基本處理。
windows開機後的界面就是我們面臨的一個terminal,這個界面提供了一套對鼠標單擊、雙擊、、拖動、敲擊鍵盤等的支持,並且支持雙擊打開各種應用程序,並將結果通過屏幕顯示給我們看到。
在linux中,terminal比較直觀的例子,是命令窗口。而console的直觀例子就是顯示屏。我們在命令窗口中敲命令,就會在屏幕上得到顯示。比如ls以下,能看到文件夾中的內容,這是顯示在屏幕上的。
我們可以簡化理解為:通常情況下,terminal接收tty的輸入,並且進行處理,結果通過console來顯示。
需要說得是:這三個詞都可以翻譯為終端,因此linux下很難區分這三個概念,特別混亂。