Linux | 浅谈Shell运行原理【王婆竟是资本家】

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在这里插入图片描述
在这里插入图片描述

文章目录

💧Shell的运行原理

👉Shell的基本概念与作用

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

  • 因为对于普通用户去直接使用OS的内核存在一定的风险性所以在这个内核kernel的外层就包裹了一层shell我们虽然不能直接访问操作系统的内核但是可以通过这层shell与OS内核进行一个中间交互从而与内核去产生一个互动

在Windows中我们以GUI图形化界面作为交互方式在Linux中我们以命令行作为交互方式

  • 但它们本质上是一样的都是为了让用户进行相关操作而图形化界面和命令行界面就是我们所说的“外壳程序”【shell】
  • 说了这么多其实对于Shell的最简单定义命令行解释器command Interpreter主要包含
  • 将使用者的命令翻译给核心kernel处理
  • 同时将核心的处理结果翻译给使用者

👉原理的展示与剖析

为了更好地帮助理解我画了如下图示
在这里插入图片描述

  • 对比windows GUI我们操作windows 不是直接操作windows内核而是通过图形接口点击从而完成我们的操作比如进入D盘的操作我们通常是双击D盘盘符.或者运行起来一个应用程序
  • shell 对于Linux有相同的作用主要是对我们的指令进行解析解析指令给Linux内核。反馈结果在通过内核运行出结果通过shell解析给用户。

在这里插入图片描述

  • 其实对于Shell说白了它就是一个【命令行解释器】等待我们去输入一条指令然后对这条指令进行一个解析把解析之后的命令传递给操作系统然后把结果以特定的方式拿到后以不同的形式展现给用户比如说“打印”

在这里插入图片描述

  • 从作用上来将Shell其实和我们现在所使用的图形化界面是一模一样的比方说在Windows中我们双击打开了软件这个文件夹后也就进入了这个文件夹查看到了里面所放的内容看到了另外一个界面这其实就和【cd】+【ls】是一个道理只是获取输入和显示的方式不一样。
  • 对于Windows的图形化界面来说它的制作更加复杂一些因此用户体验感更好Linux的这种纯命令行式的操作比较直观一些但是体验感不是很佳

【于是有个同学他就说对于我们在Windows下点击一个图标时操作系统是不是将它解析成指令然后反馈给操作系统去执行】
===》完全不是❌大家不要将Linux中的指令和Windows中的图形化界面混为一谈。当你点击图形化界面这种操作的时候它就直接被操作系统执行了如果非要说有指令存在的话那执行的就是这段指令的代码双击图标显示就是执行【cd + ls】的代码。而不是说点击了某个图标就是变成了对应的指令去执行

对于Shell这一块的理解光这么说说坑大家还是难以深刻地理解所以我们通过一个生活中的小案例来看看👀


👉Shell外壳感性理解【一门亲事】

了解了Shell的一些基本概念和原理之后接下去我们通过一个小场景来感性地理解一下Shell

  • 故事背景是这样的你呢叫张三你的爸爸是村里的村长在毕业后你找了一份很好的工作回到家里此时你的爸爸说“儿子呀现在你已经完成了一件很重要的事情就是找到一份得体的工作但是呢还有一件更加重要的事需要你去完成你看你年纪也不小了也到了谈婚论嫁的地步那是不是应该去找个女朋友谈谈呢”
  • 此时你回应说老爸我听喜欢我们家隔壁的那个小花她也是我的初中同学。你老爸听了你的这番说辞立马就找到了村东头的王婆王婆呢也是你老爸的老同学了现在想要找她帮你说个媒那对于村长的请求王婆肯定是不能拒绝当天立马就去了小花家里和她说“小花呀最近又漂亮了不少你看你现在还单身着呢隔壁的张三现在找到了一份很好的工作他爸也是村长你们两个也是老同学年纪也相当看看能不能和他处处。”但是呢小花她不喜欢你呀于是就对王婆说“我对他不感兴趣叫他别来找我了”那此时王婆也是非常无奈呀回到村长家之后就跟你和你爸爸说了小花的态度。

通过上面的小案例我们可以去理解Shell外壳的工作原理这里可以将张三也就是你看做是用户然后将小花呢看做是操作系统平常我们来使用操作系统的时候其实并不是直接对操作系统的内核进行处理而是通过鼠标的点击进行一些对应的访问此时呢你和操作系统之间就存在着一个交互的东西叫做ShellShell可以作为你和操作系统之间的一个传递者通过Shell让操作系统知道你的想法然后操作系统执行你的命令再通过Shell返回出去所以可以看出这个王婆也就是Shell起到一个中介的作用

在这里插入图片描述

  • 但是事情完了吗很明显没有因为可以看到图中还有一个李四呢🐶因为你呢就是喜欢小花还是想要再坚持一下于是你老爸就又找到了王婆并且给了她一些好处此时王婆就不得不再度厚着脸皮去找小花但是当王婆走到小花家门前的时候看到她隔壁家的李四正手拉手坐在沙发上看电视旁边还坐着双方的父母经验丰厚的王婆看到这一幕心想这生米都快煮成熟饭了我在去把电线拔了是不是不太好呀🍚
  • 于是这个时候王婆就毅然决然地放弃了这个念头想要回到你家和说明这件事但是呢因为你老爸是村长所以王婆比较忌惮所以想了想而且若是带着这样的消息回来的话不是坏了我这么多年积攒下来的名誉了。所以还是先选择回到了自己家此时。。。

上面的描述其实就反映了Shell的一些原理===> ①帮忙进行命令传递和返回结果 ②保护操作系统不去打扰小花

在这里插入图片描述

  • 事情完了当然没有😜
  • 当王婆带着万千思绪准备回家的时候她突然想到为什么要我自己去做这件事呢我招募几个人替我去说媒这样若是失败了既不会影响我的名誉又可以把事情办成毕竟我这么个老太婆怎么说得动现在的年轻人呢。所以此时王婆就上招聘网站招募了几个实习生然后对她们培训了一段时间后让她们去进行说辞然后就带回了好消息不得不说现在的年轻人都怎么想的随随便便就在一起然后一言不合就分手了可谓是亵渎爱情呀❤
  • 有了这样的好消息此时王婆就马上开启她的小毛驴到村长家邀功然后你就可以趁虚而入了😍

上述的王婆资本家招募实习生这段故事其实就是Shell在执行用户所给出的命令时会创建子进程来执行

在这里插入图片描述
看完上面的这个生活小案例你是否对Shell有了一些深入的理解呢

💧总结

好我们来总结一下本文所学习的内容

  • 在本篇文章中首先了解了一下什么事shell它是用于与操作系统之间的一个中间者用于将用户执行的一些操作转达给操作系统然后操作系统执行之后再反馈给shell最后通过shell将执行的结果反馈给操作的用户
  • 理解了shell的基本概念和作用之后便对其原理展开剖析讲了对于Windows中的鼠标点击操作和Linux中的命令行操作其实本质都是一样的对于双击图标也就是我们执行的cd + ls的执行。但是有一点要明白的是对于Windows中的图形化界面操作和Linux中的命令行操作还是存在本质区别的不要混淆了
  • 在最后我们又通过一个小故事对shell有了一个感性的理解相信你在看了这个小故事后一定是有了自己的想法也想明白了一些事情

若有所思特作此分享2023年1月20日晚18点

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shelllinux

“Linux | 浅谈Shell运行原理【王婆竟是资本家】” 的相关文章