终端(terminal)、tty、shell、控制台(console)、bash之间的区别与联系
1、終端(terminal)
終端(termimal)= tty(Teletypewriter, 電傳打印機),作用是提供一個命令的輸入輸出環境,在linux下使用組合鍵ctrl+alt+T打開的就是終端,可以認為terminal和tty是同義詞。
2、shell
shell是一個命令行解釋器,是linux內核的一個外殼,負責外界與linux內核的交互。shell接收用戶或者其他應用程序的命令, 然后將這些命令轉化成內核能理解的語言并傳給內核, 內核執行命令完成后將結果返回給用戶或者應用程序。當你打開一個terminal時,操作系統會將terminal和shell關聯起來,當我們在terminal中輸入命令后,shell就負責解釋命令。
3、console
在計算機發展的早期,計算機的外表上通常會存在一個面板,面板包含很多按鈕和指示燈,可以通過面板來對計算機進行底層的管理,也可以通過指示燈來得知計算機的運行狀態,這個面板就叫console。在現代計算機上,在電腦開機時(比如ubuntu)屏幕上會打印出一些日志信息,但在系統啟動完成之前,terminal不能連接到主機上,所以為了記錄主機的重要日志(比如開關機日志,重要應用程序的日志),系統中就多了一個名為console的設備,這些日志信息就是顯示在console上。一臺電腦有且只有一個console,但可以有多個terminal。舉個例子,電視機上的某個區域一般都會有一些按鈕,比如開機,調音量等,這個區域就可以當做console,且這個區域在電視上只有一個,遙控器就可以類比成terminal,terminal可以有多個。
4、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。
總結
以上是生活随笔為你收集整理的终端(terminal)、tty、shell、控制台(console)、bash之间的区别与联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch: Variable de
- 下一篇: 单步调试 step into/step