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

一、終端(terminal)

終端(termimal)= tty(Teletypewriter, 電傳打印機),做用是提供一個命令的輸入輸出環境,在linux下使用組合鍵ctrl+alt+T打開的就是終端,能夠認爲terminal和tty是同義詞。linux

二、shell

shell是一個命令行解釋器,是linux內核的一個外殼,負責外界與linux內核的交互。shell接收用戶或者其餘應用程序的命令, 而後將這些命令轉化成內核能理解的語言並傳給內核, 內核執行命令完成後將結果返回給用戶或者應用程序。當你打開一個terminal時,操做系統會將terminal和shell關聯起來,當咱們在terminal中輸入命令後,shell就負責解釋命令。shell

三、console

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

四、bash

linux系統上能夠包含多種不一樣的shell(可使用命令 cat /etc/shells 查看),比較常見的有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。ubuntu

相關文章
相關標籤/搜索