一 计算机的体系结构
了解shell运行原理之前,我们先来了解一下计算机的体系结构
自底向上:硬件->硬件驱动(硬件接入后 需要相关驱动 才能使用 )->操作系统(本质上是为了更好地管理软硬件 为用户提供良好的体验环境)->软件(图形化界面或者指令操作)
在日常生活中,我们在linux下或者windows下,通过指令或者图形化界面来访问操作系统,并没有直接访问操作系统。而是通过了外壳程序。
二 外壳程序
shell就是其中一款外壳程序
基本概念:基于操作系统提出的一个相关的概念
在现实生活中,有很多专业性的非常强的事情,我们无法操作,需要借助外壳程序。
比如去银行存钱,我们只需要简单操作,但是银行工作人员需要进行更多的后台操作。
比如司机只用会开车,但是不用懂得汽车和修车原理
->不需要人参与相关细节
也就是说,在日常生活中,我们通过shell操作操作系统,本质上不是对操作系统进行直接的操作。而是通过外壳程序与操作系统进行交互。
1为什么会有外壳程序
最根本的原因是因为人不能直接访问操作系统。
为什么人不能直接访问操作系统?
如果想直接操作操作系统,显示器是什么,在操作系统什么位置,如果要写入数据,……等操作细节,要关心这些细节叫做直接访问操作系统。专业性很强。
如果直接访问操作系统,一方面,使用者入门门槛高,操作成本高,另一方面,如果使用者犯错了,会带来不安全因素。
所以需要借助外包程序
总结:
1 ‘人‘不善于使用操作系统
2 如果让人直接访问操作系统,会导致问题
2 日常生活中我们是如何访问操作系统的
那么我们是如何访问操作系统的呢?图形化界面和指令操作究竟是什么?
图形化界面和指令操作都是操作系统提供的外壳程序。主要进行命令行解析。是命令行解释器。将使用者的命令翻译给核心处理,同时将核心处理的结果返还给用户。
外壳程序存在的意义:
1 用户和操作系统交互的中间软件层
2 可以在一定程度起到保护操作系统的作用:操作系统可以拒绝用户的请求,外壳程序也会拒绝用户
如何通过命令来查询外壳程序?
外壳程序是通过子程序来进行的。
Bash是死循环 前面[]提示就是bash循环的提示 提示用户一直输入
Bash shell等不同的外壳程序有什么区别?
Shell bash都具有某种功能shell是对所有外壳程序的统称。