Terminology
Unix 中有兩種類型的“Shell”嗎?
作為一個真正想了解 Linux 而不僅僅是自動使用它的 Linux 新手,我理解術語“Shell”基本上描述了一個位於核心之上的軟體層,其中包括可以執行和由實用程序操作的服務更多“容易”然後核心可以。
如果我理解正確,Web 伺服器軟體(例如 Apache、MySQL 和 PHP)是用“高級”程式語言編寫的,可以使用 shell 軟體片段作為“Web 伺服器”一起執行,這樣兩層的軟體都會妥協“網路伺服器”。
如果是這樣,這個名為“Shell”的軟體層與我在 Ubuntu 中使用的終端(維基百科也稱為 Shell)有什麼區別?
在我看來,Linux 中的“Shell”一詞有兩個“上下文”,或者某些使用者錯誤地將終端(例如 Bash 終端)稱為“Shell”。
A
terminal
是允許您連接到另一個系統的設備或應用程序。當你在 Unix 上進行這樣的連接時,你連接到一個shell
.shell 是一個應用程序,它允許使用者執行各種操作,包括執行其他程序。請注意,大多數程序不需要外殼程序存在。shell 僅用於使用者控制。
所以,
shell
出現在裡面terminal
但不是從裡面跑出來的。最後請注意,實際上有許多不同的終端仿真器和shell。