1. 程式人生 > >shell,bash,zsh,console,terminal到底是什麽意思,它們之間又是什麽關系?

shell,bash,zsh,console,terminal到底是什麽意思,它們之間又是什麽關系?

.html 控制結構 負責 輸入 tcs 出現 mina gnome get

原文鏈接

終端(terminal,或者叫物理終端):
是一種設備,不是一個程序,一般說的就是能提供命令行用戶界面的設備,典型的是屏幕和鍵盤,或其他的一些物理終端。
虛擬終端:
屏幕和鍵盤只是一個終端,可能不夠用,又不想增加設備投入,就產生了虛擬終端。
gnome-terminal,urxvt,mlterm,xterm等等:
是一個程序,職責是模擬終端設備,和虛擬終端的區別表面上在於它以 GUI 形式的窗口出現,內部則是程序結構和系統控制結構有所不同,但本質上差不多。
控制臺(console):
顯示系統消息的終端就叫控制臺,Linux 默認所有虛擬終端都是控制臺,都能顯示系統消息。
但有時專指CLI下的模擬終端設備的一個程序,和gnome-terminal,urxvt,mlterm,xterm等相同,只是CLI和GUI界面的區別。一般console有6個,tty1-6,CTRL+ALT+fn切換。還沒聽說過怎麽換console

shell是一個抽象概念,shell的一切操作都在計算機內部,負責處理人機交互,執行腳本等,是操作系統能正常運行的重要組成部分
bash,ash,zsh,tcsh等是shell這個抽象概念的一種具體的實現,都是一個程序,都能生成一個進程對象。
如果想換shell的程序,可以修改/etc/passwd,把裏面的/bin/bash換成你想要的shell,或者用chsh命令來切換

shell與終端的關系:shell把一些信息適當的輸送到終端設備,同時還接收來自終端設備的輸入。一般每個shell進程都會有一個終端關聯,也可以沒有。

shell,bash,zsh,console,terminal到底是什麽意思,它們之間又是什麽關系?