1. 程式人生 > >終端(terminal)、shell、tty、控制臺(console)、bash之間的區別與聯系

終端(terminal)、shell、tty、控制臺(console)、bash之間的區別與聯系

https 電視 min ksh ctrl+ 編輯 按鈕 urn 用戶

1、終端(termimal)= tty(Teletypewriter, 電傳打印機),作用是提供一個命令的輸入輸出環境,在linux下使用組合鍵ctrl+alt+T打開的就是終端,可以認為terminal和tty是同義詞;

2、shell是一個命令行解釋器,當你打開一個terminal時,操作系統會將terminal和shell關聯起來,當我們在terminal中輸入命令後,shell就負責解釋並執行命令;

3、在計算機發展的早期,計算機的外表上通常會存在一個面板,面板包含很多按鈕和指示燈,可以通過面板來對計算機進行底層的管理,也可以通過指示燈來得知計算機的運行狀態,這個面板就叫console。在現代計算機上,在電腦開機時(比如ubuntu)屏幕上會打印出一些日誌信息,但在系統啟動完成之前,terminal不能連接到主機上,所以為了記錄主機的重要日誌,比如開關機日誌,重要應用程序的日誌,系統中就多了一個名為console的設備,這些日誌信息就是顯示在console上。一臺電腦有且只有一個console,但可以有多個terminal。舉個例子,電視機上的某個區域一般都會有一些按鈕,比如開機,調音量等,這個區域就可以當做console,且這個區域在電視上只有一個,遙控器就可以類比成終端,終端可以有多個。

4、linux系統上可以包含多種不同的shell,比較常見的有Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh),三種shell 都有它們的優點和缺點。Bourne shell 的作者是 Steven Bourne,它是 UNIX 最初使用的shell 並且在每種 UNIX 上都可以使用。bash的全程叫做Bourne Again shell,從名字上可以看出bash是Bourne shell的擴展,bash 與 Bourne shell 完全向後兼容,並且在 Bourne shell 的基礎上增加和增強了很多特性,如命令補全、命令編輯和命令歷史表等功能,它還包含了很多 C shell 和 Korn shell 中的優點,有靈活和強大的編程接口,同時又有很友好的用戶界面。總而言之,bash是shell的一種,是增強的shell。

參考:

1、https://www.zhihu.com/question/21711307

2、https://blog.csdn.net/wenlifu71022/article/details/4069929

3、https://www.zhihu.com/question/20388511

終端(terminal)、shell、tty、控制臺(console)、bash之間的區別與聯系