學習Linux/Unix這麼久了,你真的知道什麼是終端嗎?

終端(Terminal)是Unix/Linux世界裏的一個基本的、重要的概念。但很多人並不瞭解終端的真正含義。根據維基百科,終端的定義是:是一臺電腦或者計算機系統,用來讓用戶輸入數據,及顯示其計算結果的機器。終端有些是全電子的,也有些是機電的。其又名終端機,它與一部獨立的電腦不同。
在這裏插入圖片描述

終端——人機交互的接口

人和機器是兩個相互獨立的實體。當人使用機器時,必須藉助接口(interface)才能與機器交流信息。臺式機的接口包括顯示器、鍵盤、鼠標、揚聲器、麥克風等。CPU、內存、硬盤、光驅、顯卡、網卡等其他硬件屬於主機(host)。Unix和Linux把這種使得人和機器可以交互的接口稱爲終端。

終端具有兩個基本功能:向主機輸入信息和向外部輸出信息。所以終端可以分爲輸入設備和輸出設備。臺式機的輸入設備通常包括鍵盤、鼠標、麥克風,輸出設備包括顯示器、揚聲器等。

我們可以將上面的兩段內容歸納爲兩個公式

計算機 = 主機 + 終端 

終端 = 輸入設備 + 輸出設備

臺式機的主機和終端在物理上是分開的,筆記本電腦卻是一個整體,但我們仍然可以將筆記本電腦的設備分爲主機和終端。

人類也可以有終端。人類的終端,也就是人類與外部世界進行信息交流的接口。人類終端的輸入設備包括感知器官,即眼睛、耳朵、嘴巴、鼻子等。輸出設備包括嘴巴(發出聲音)、四肢(改變外部世界)等。

綜上所述,終端是人與機器交互的接口。人通過自身終端的輸出設備(嘴巴或手)將信息傳遞給計算機終端的輸入設備(鍵盤、鼠標、麥克風等),後者將信息傳遞給計算機的主機。主機處理完信息後,將結果傳遞給計算機終端的輸出設備,後者將結果傳遞給人類終端的輸入設備,最後到達人類的大腦。

早期的終端

個人計算機是上世紀70年代末開始出現的。在那之前,人們只能在公司或大學裏使用大型機(mainframe)和小型機(minicomputer)。這些計算機非常昂貴,Unix創始人肯•湯普遜和丹尼斯•裏奇使用的PDP-7小型機當年的價格爲72000美元,GE-45大型機價格高達1000萬美元。
肯•湯普遜和丹尼斯•裏奇想讓Unix成爲一個多用戶系統。多用戶系統意味着要給每個用戶配置一個終端,每個用戶都要有一個顯示器、一個鍵盤。但當時所有的計算機設備(包括顯示器)價格都非常昂貴,而且鍵盤和主機是集成在一起的,根本沒有獨立的鍵盤。
但是,最後他們找到了一樣東西,那就是ASR33電傳打字機。(ASR:Automatic Send-Receive)雖然電傳打字機的用途是在電報線路上收發電報,但是它也可以作爲人與計算機的接口,而且價格低廉。ASR33打字機的鍵盤用來輸入信息,打印紙用來輸出信息。
在這裏插入圖片描述
所以他們把ASR33電傳打字機作爲終端,很多個ASR33連接到同一個主機,每個用戶都可以在終端輸入用戶名和密碼登錄主機。這樣他們創造了計算機歷史上的第一個真正的多用戶系統Unix,而ASR33成爲第一個Unix終端。同時ASR-33電傳打字機爲比爾·蓋茨提供了計算機的啓蒙。

終端服務器(Terminal Server)

當公司或大學的資金只能買一臺大型機或小型機時,所有的終端都直接連到這臺主機。隨着時間的推移,主機價格逐漸下降,這時一個機構內部有多個主機。如何才能讓每個終端都能連接到任何一個主機呢?在各個終端和主機之間牽一根線代價太大,而且線路容易搞混。這時候終端服務器就派上用場了。各個終端與終端服務器相連,各個主機也與終端服務器相連。當終端啓動時,終端服務器詢問用戶要登錄哪個主機,用戶指定主機後,再輸入用戶名和密碼登錄相應的主機。這種拓撲結構很像今天的家庭網絡,終端服務器相當於路由器

控制檯(Console)

通常終端都是通過線路連接到主機。有一個終端卻與衆不同,它與主機是一體的,不需要連線。這個特殊的終端就是console,中文名爲控制檯。Console是用來管理主機的,只能給系統管理員使用,而且一個主機只有一個console。Console與一般終端在外表上沒什麼區別,但在功能上卻大不相同,有些事情只能在console完成,而不能在終端完成。例如,當系統啓動出現錯誤時,錯誤信息會顯示在Console的顯示器屏幕上,而不會顯示在一般的終端上。這是因爲系統還沒有成功啓動,用戶是不能在一般的終端登錄系統的。另外,當主機需要維護或修復問題時,Unix以單用戶模式啓動(single-user mode)。在單用戶模式下,只有console才能連接到主機,其他終端沒有權限訪問主機。

個人計算機上的顯示器和鍵盤既可以認爲是Console,也可以是一般的終端。當你在管理系統時,它們是Console;當你在做一般的工作時(瀏覽網頁、編輯office文檔等),它們是終端。

現在,人們把console和Terminal看成是同義詞,在使用時往往不區分它們原來的差別。這是因爲在90年代中期以前,人們都是在公司或大學裏通過終端訪問Unix,有專門的系統管理員在console管理系統。而現在,人們可以擁有自己的Unix,在自己的電腦上使用Unix,這時候,console和終端是一體的,自己既是一般用戶,也是系統管理員。
根據維基百科:控制檯(console)是命令行界面的別稱

圖形終端和字符終端

名稱 英文名 特點
圖形終端 Graphics Terminal 可以顯示圖像和文本
字符終端 (Character Terminal)也叫文本終端(Text Terminal) 只能接收和輸出文本信息的終端

終端窗口和虛擬控制檯(Terminal Window and Virtual Console)

實際上,終端模擬程序分爲兩種。在上面提到的終端窗口是其中一種,另外一種是虛擬控制檯(Virtual Console)。在上世紀七八十年代,在公司和大學裏,一般人們只可以使用一個終端。但有一些重量級人物可以使用很多個終端,因爲他們需要在同一時間內使用主機做不同的事,所以在他們的辦公桌上會有四五個甚至六七個終端。

現在,我們不需要在桌上擺上這麼多個終端。Unix允許用戶在自己電腦上使用多個終端,其中有一個是圖形終端,其他六個是字符終端。這七個終端使用同一個顯示器和鍵盤。如果我們需要從一個終端切換到另外一個終端,只需按一下快捷鍵。一般情況下當我們啓動Linux系統時,圖形界面自動啓動。但有一件事你可能不知道,實際上Linux會同時啓動七個不同的終端模擬程序。這七個特殊的終端模擬程序叫做虛擬控制檯。

第一個到第六個虛擬控制檯是全屏的字符終端,第七個虛擬控制檯是圖形終端,用來運行GUI程序。從圖形終端切換到字符終端,我們只需按快捷鍵CTRL+ALT+F1,或CTRL+ALT+F2…….CTRL+ALT+F6。要切換回圖形終端,只需按快捷鍵CTRL+ALT+F7。當圖形終端崩潰時,我們可以按快捷鍵切換到這六個字符終端的其中一個,然後輸入命令修復問題或重啓系統。

總結

Unix系統在誕生之初就被設計成一個單主機多終端模式的多用戶系統。現在我們仍然可以在自己家中組建一個”單主機多終端”的計算機系統,也就是說我們可以把一臺硬件強大的主機放在家中,主機安裝Linux系統,然後在各個房間部署一個顯示器、一個鍵盤鼠標,這樣各個房間都有了自己的終端,各個終端連接到主機,供家人使用。實際上,我們可以在任何終端上通過互聯網登錄到世界任何地方的Unix主機,只要你有權限訪問那臺Unix主機。比如我們可以購買國外的VPS,然後在自己的Linux系統上打開一個終端模擬程序,用SSH登錄VPS。

注意windows系統雖然號稱是多任務多用戶系統,但windows對多用戶的定義是可以創建多個賬號。在windows系統上,同一時間只能登錄一個用戶賬號。Unix-like系統允許多個賬號同時登錄,是真正的多用戶系統。

由於作者能力有限,文章部分內容轉自:https://mp.weixin.qq.com/s/rzfkgVuiD6ak-PVHqfGyLQ
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章