网站域名地址是什么,公司网页设计作品,微营销软件,网站建站域名解析最后做shell外壳程序
1. 什么是shell外壳程序 Linux严格意义上说的是一个操作系统#xff0c;我们称之为“核心 “ #xff0c;但我们一般用户#xff0c;不能直接使用核心。 而是通过核心的“外壳”程序#xff0c;也就是所谓的shell。 shell是所有外壳程序的统称 平时程序员…shell外壳程序
1. 什么是shell外壳程序 Linux严格意义上说的是一个操作系统我们称之为“核心 “ 但我们一般用户不能直接使用核心。 而是通过核心的“外壳”程序也就是所谓的shell。 shell是所有外壳程序的统称 平时程序员所用的指令操作和开发操作都是在shell外壳之上操作的在Linux中shell外壳指的就是命令行在windos中指的就是图形化界面
我们可以用下面的关系图来表示 2. 为什么要有shell外壳
有小伙伴会有疑问作为Linux系统的使用者我们为什么不直接向操作系统交互反而要通过shell外壳这一媒介呢
我们先来引入一个生动的故事
2.1 讲个故事 阶段一 从前有个村庄村里村长有一个儿子——小李他仰慕儿时的女玩伴——小花一天小李想对小花提出交往的请求但奈何小李性格腼腆不敢和小花当面交流因此就找来了村里的媒婆——王姨。 阶段二 王姨听了小李的诉求后就去找小花商量但是小花却对小李不感兴趣随便找了个理由搪塞了过去。小李从王姨那听说了后仍不死心希望王姨再争取一下。当王姨第二次来到小花家时远远地便望见小花正在和另一个男生还有她的父母正坐一桌吃饭有声有笑、其乐融融这时王姨便意识到这个时候再去找小花便是一个不明智的危险的行为——小花已经名花有主再去说媒就会招人嫌。但小李仍旧不死心希望王姨想想办法。这时王姨就苦恼了既不能得罪了村长的儿子又不能硬找已经有对象的小花砸自家招牌怎么办呢 阶段三 王姨心生一计她开了一个事务招待所并招揽了大量实习生。她让实习生去做那些成功率低的媒事而自己只做成功率高的。这样就算实习生失败了也不会影响到自己的声誉同时也可以用“实习生经验不足”的理由来对付求媒人。两全其美。 看完了这个故事我们可以将故事中的小花比作是Linux中的内核将小李比作是不断向内核操作系统发送请求的用户而王姨就是沟通内核和用户的shell外壳。 即小花 - Linux内核 小李 - 用户 王姨 - shell外壳 做完类比我们再从易用程度和安全两个角度来讨论为什么要有shell外壳这个问题
2.2 易用程度
就像小李难以直接向小花表达感情用户也难以直接向操作系统直接发送请求。为了能够让小花听到小李的心意就需要王姨这个中间媒介来传达。同样为了能让内核能够清楚地知道用户的需求我们都会通过shell外壳程序来间接地对内核进行交互
2.3 安全
就像故事中小花明明已经名花有主但小李仍要提出交往王姨认为这个行为不合适直接不执行当shell外壳程序认为用户向系统内核提出的请求不合理甚至危险时shell外壳会对该指令直接拦截不予执行。因此我们可以说对于某些不合理的非法指令shell外壳会进行拦截一定程度上保护了内部的操作系统
3. shell外壳程序的特点 shell是一切外壳程序的统称 在Linux的centOS和ubuntu中这个外壳程序一般叫做bash将用户的命令进行解析并传达给内核同时将内核的反馈结果进行解析在返回给用户。在Windows系统中这个外壳程序一般叫做图形化界面通过鼠标双击、右键、左键等一些列操作实现于内核的交互。 shell外壳的子进程 从本质上来说shell外壳实际上已是一个程序进程系统只要启动就会一直存在。故事中我们讲到如果王姨认为一桩媒事的成功概率不大那么她就会让实习生来做。同样如果shell外壳认为用户输入的指令是有风险的那么shell外壳就会用创建子进程的方式让子进程来执行而让自己规避风险。
4. 总结
在学习Linux的过程中我们不免会发出疑问下图的字符串到底是什么 实际上上面那一串等待我们输入指令的字符串就叫做命令行解释器 而命令行解释器的背后有一个程序它用来接收用户输入的指令并执行由用户到内核再由内核返回到用户的翻译工作 这个程序就叫做shell外壳程序
经过本次的学习我们可以做出如下的总结 shell外壳程序是一切外壳程序的统称shell外壳程序是连接用户和系统内核间的桥梁shell外壳在方便用户和内核交互的同时也在一定程度上保护了内核的安全