libook 在 shell 和 terminal 的区别 中发帖

Shell
在操作系统中,shell 是相对于 kernel 的概念。
kernel 是内核,shell 是用户与内核交互的外壳。
shell 分为命令行 shell、图形化 shell 等等种类,我们一般说的 Gnome、KDE Plasma 等等都属于图形化 shell,bash、zsh、fish 等等属于命令行 shell。
Terminal
古早的计算机是占地几个屋子的庞然巨物,人们要操作计算机就需要额外的设备来提供操作界面(interface),所以计算机就被划分成为主机(host)和终端(terminal)两部分。
主机负责实际承载计算机资源,终端负责给用户操作操作主机的界面。现代 PC、工作站一般都是微型计算机,物理上主机和终端合并成了一个整体,但这个称呼保留了下来。
理论上来讲,你在同一个终端上、同一时间只能看到一个 shell,如果是在用图形化 shell,就没...