shell命令以及运行原理

shell命令以及运行原理

shell命令以及运行原理

Linux严格意义上来说说的是操作系统,我们把操作系统称之为“内核”(kernel),但是我们用户是不会直接与kernel直接打交道的,我们是通过一个“外壳程序”来与kernel进行交互,这个外壳程序也就是我们说所的shell,就比如window下,在用户和操作系统之间进行交互的就是windows GUI,我闷操作window并不是直接就去操作window内核,而是通过鼠标点击,调用图形接口,从而将我们的操作传达给操作系统!
在这里插入图片描述

那么我们用户为什么不能直接与kernel直接进行交互嘞?
这个问题也就是要回答shell存在的意义:

1、课可以更好的帮助操作系统与用户之间的交互,通过shell我们可以将用户的命令翻译给操作系统,同时我们也可以将我们操作系统的反馈翻译给我们的用户;
2、保护操作系统;假设我们的用户下达了一些比较危险的指令,那么我们就可以在shell层就终止掉该指令,从而间接的保护操作系统;
3、执行命令的时候可以创建子进程来执行;就算子进程运行失败,也不会影响到shell进程!

下面我们可以通过一个比较实际的例子来理解这个shell命令和运行原理:

就比如张三是一个腼腆的程序员,只适合与计算机打交道,不适合与人打交道;他的老爹嘞是村长,现在张三看上了隔壁村的小花,但是嘞由于他的这个性格就不适合去和小花进行交流,他的老爹就去请了一个媒婆帮助张三,让媒婆去小花家说亲,然后张三将他的需求和要求给王婆说了一下,王婆进行了简单包装,然后就去小花家了,去跟小花交流了很久,小花最终得出了一个不同意的结论!!为此王婆就将这个信息也简单包装了一下并带来回来,反馈给了张三!
这上面的媒婆嘞就相当于我们用户、shell、操作系统中的shell,而张三就相当于用户、小花就相当于操作系统,张三通过媒婆给小花表达心意就相当于用户通过shell与操作系统进行交流,小花拒绝了他的要求,就相当于用户给操作系统下达的命令操作系统做出了反馈,然后由王婆带回反馈给了张三!;
好现在我们故事继续:
张三得知了这个消息,不甘心啊,就叫王婆继续去说,王婆又去了,但是当他要进门的时候,他看到了小花竟和李四正手拉手看电视,双方家长也都还早,王婆看到这就知道张三的事铁定成不了了,为了防止张三做出过激行为,王婆就直接拒绝了张三的请求!
那么这里王婆没要将请求送到小花家,就自动做出判断拒绝了张三的请求,也就相当于shell阻止了用户下达的危险指令,从而间接的保护了操作系统;
好现在故事继续!
但是迫于张三村长父亲的压力和自己的金子招牌,王婆得想个办法解决这个问题,于是王婆想到了一个办法,通过招牌实习生!每当张三要再次去小花家说媒的时候王婆就派一个实习生过去,无论实习生是谈成功了还是失败了都与我王婆无关!!
那么这里王婆的这个办法就相当于shell创建子进程去执行用户命令,无论是执行失败还是成功都不会影响我们的shell进程!!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南猿北者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值