一、Unix = kernel(操作系统内核) + utilities(一些实用工具,例如vi等)
操作系统由计算机的硬件、内核还有外围的一些程序组成,内核由图中右下角所列举的部分组成。操作系统的内核向上层提供服务的媒介就是shell。
二、终端和shell
1、终端,即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界面差不多。
2、shell,Shell就是用户和操作系统之间的壳,中介,GUI和CLI都算是Shell,登陆终端可以是登陆了Bash也可能是Csh或者Dash;是操作系统与用户交互用的接口,在命令终端里可以使用shell。shell将用户输入翻译为操作系统能处理的指令。shell提供了一些内置命令,也支持调用外面工具。
扩展:dash,是ubuntu里默认的shell。shell有好多种,除支持默认的POSIX标准外还支持不同的扩展语法,目前最常用的是bash,很多shell学习的教程都是针对bash的。dash除了不支持数组外,其实和bash差别也不大。ubuntu里可以将默认shell由dash改为bash。
简单总结:
终端作用:解释主机的输出信号,并显示在屏幕上;解释用户的输入信号,并发送给主机;
Shell作用:解析用户的输入命令,并返回输出结果。
三、Unix GUI的抽象层次