关于Linux内核
1、对于应用程序来说,应用程序不知道硬件,与 硬件没有关系,他只与内核有关,内核是应用程序知道的底层中的最底层。
2、技术层面来讲,内核是硬件与软件之间的一个中间层,它的作用是将应用层的请求传递给硬件;并且充当底层驱动,对系统中各个设备组件进行寻址,告诉程序什么时候开始,什么时候结束, 内核是硬件和软件之间的桥梁。
3、除此之外内核是一个 资源管理程序,他会负责将可用资源分配到各个系统进程中; 他就像个库,提供了面向系统的命令,系统调用对于程序来说就像是调用函数。
关于shell
1、什么是shell?
“shell”字面意思为“壳”,可以按照字面意思理解,只不过是相对于内核来说的,shell就是保护内核的一个保护壳。他建立于内核的基础上,也是对于用户的一种表现形式,故,Linux中的shell是指一个面向用户的命令接口, 表现形式就是一个可录入用户需求的界面,这个界面可以反馈运行的信息。也可以说shell是用户和机器之间的桥梁。
2、shell的存在形式
由于linux与Windows不同,linux的内核可以与界面分离,故shell有两种存在形式。
(1)shell在内核基础上,脱离图形界面单独运行,于是有无图形界面下的终端运行环境下的shell,我们通常称之为终端。
(2)shell同样也可以在内核的基础上运行图形的界面,我们称之为shell,也是我们看到的terminal
3、shell如何执行用户的指令
两种方式:
(1)shell编程。事先编写shell脚本,即将执行的命令写入shell文件,而后使用shell程序执行该脚本。
(2)用户直接在shell界面执行shell命令。