• shell命令以及运行原理


            Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel
            而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

           要理解shell外壳,要知道一下三点。

                    为什么会有shell外壳?

                    shell外壳是什么?

                    shell外壳怎么工作?

            我们来举个简单的例子来解释:张三是个刚大学毕业的程序员,老大不小,到了结婚的年纪了,对隔壁家的如花暗恋已久。由于大学四年很少接触异性,导致张三一见异性就害怕紧张、不敢说话,这时就请来王媒婆,让她帮助联系如花。

            在这里张三就相当于linux的用户,媒婆就相当于shell外壳,而如花就相当于操作系统

            正是因为张三不善于与如花打交道,所以才请来王婆帮忙。正是因为Linux有操作门槛,所以需要shell来帮助程序员使用Linux。

            王婆第一次去如花家给张三说媒,但是如花却不愿意,王婆回去告诉张三如花的心意,但张三不死心。过两天又让王婆去,结果王婆还没进门,就发现李四在如花家中吃饭,这时候王婆就懂了。

            媒婆的角色就相当于shell,起到了传话的作用。shell就是命令行解释器,将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。

            此时王婆已经了解到如花的心意,知道张三的请求是不可能的。

            shell在面对非法请求的时候是会拒绝的,对于用户来说起到了告知的作用,同时对于内核起到了保护的作用(shell外壳知道命令非法直接拒绝,避免“骚扰”内核)。

            王婆越做越大,十里八乡,人尽皆知。这时王婆开了一家“王婆婚介所公司”,同时在boss直聘上找实习生。

            王婆不好意思直接去告诉张三如花的心意,但是由于张三的爹是村长,只好让实习生去告诉张三。这样事情即使办砸了,王婆既能给村长一个交代就说,实习生业务能力不强,又能使自己不受牵连。

            shell ---  本质上是一个执行起来的程序(进程),从系统启动一直存在。就像相当于一个死循环。shell 启动后就会给每一个用户一个bash(相当于王婆),如果遇到有风险的事情,就让bash创建子进程去完成,即使挂掉了,也不会影响bash。

            

            

            

            

  • 相关阅读:
    黑链暗链事件的爆发式增长
    DNA修饰碱基5-甲基胞嘧啶和8-羟基鸟嘌呤|DNA修饰量子点|规格信息
    【牛客刷题-算法】NC32 求平方根 (又是辛苦debug的一天)
    TOML格式简介
    老年生活照护实训室:让养老护理变得更简单
    c语言进阶部分详解(《高质量C-C++编程》经典例题讲解及柔性数组)
    递归是会更秀strtok
    几种常用关系型数据库架构和实现原理
    【菜鸡读论文】Former-DFER: Dynamic Facial Expression Recognition Transformer
    最稳定的淘宝商品详情接口
  • 原文地址:https://blog.csdn.net/kqs__/article/details/133869591