shell的工作原理

本文旨在讲解shell的工作原理,希望读完本文,能使读者对shell的工作原理有一定的认识,废话不多说,开唠!


在讲解shell的工作原理之前,我要首先给大家讲一下什么是操作系统,以Linux操作系统为例:

狭义上的操作系统:指的就是我们的Linux中的内核!

广义下的操作系统:就是Linux内核+Linux外壳以及相配套的程序!


既然简单介绍了什么是操作系统,那么我们就来分享一下什么是Linux外壳呢?其作用是什么呢?以及存在的意义是什么呢?

如果想要了解shell,我们就得从是什么,为什么,怎么做这几点进行分析,那么下面我就简单的举一个例子来介绍一下shell把!

小故事:

假如呢有一个程序员小王,他毕业了,找到了一个不错的工作,家里条件也差不多,但是呢,他却没有对象,因为其是一个程序员么,技术宅,经常跟电脑打交道,很少跟外人进行接触,自然呢,连对象也没有,于是等他毕业之后,家里人也开始催他找对象,但是家里人一想,这孩子确实挺内向的,如果让他自己去找对象,那比登天还难,于是他的母亲,就找了一个媒婆王婆,来对他进行说媒,简单询问小王之后,发现小王对其隔壁那个姑娘翠花感兴趣,想要和她交往,那么王婆就说没问题,小王,专业的事交给专业的人来做,你的亲事我来替你办,于是呢王婆就去隔壁翠花家表示小王对其有意思,想和她进行交往,但是翠花不喜欢小王,于是就将王婆给拒绝了,于是王婆就返回小王家对小王说,隔壁翠花不喜欢你。听到这,小王也就没再多想了!就不再让王婆找翠花了!

到这里,从这一段故事中可以看出,我们将王婆简单的比喻成外壳,翠花比喻成内核,小王就是用户,因为小王不熟悉相亲这种事,于是找了专业的王婆来进行了说亲,这里我们可以看出外壳有一个特点就是将用户的指令转交给内核,以及内核的返回信息再转交给用户!

故事后序:经过一次的相亲之后呢,小王还是忘不了翠花,于是又找王婆让其再次去说媒,王婆想,既然孩子都说了,那就再跑一趟吧,这次呢,没等王婆进入到翠花家里,王婆就看见隔壁的小张和翠花的一家其乐融融的坐一起吃饭呢,这时王婆想,人家都发展成这地步了,你小王肯定没戏了,于是这次王婆根本就没有进入到翠花家,直接就返回到小王家,对小王说,小王,放弃吧,人家都有意中人了!

对于第二次,当王婆发现了问题之后,就不再直接访问翠花家了,而是直接告知小王让其放弃,对于这,我们可以理解成,用户发出的指令不行,直接被外壳程序进行了拦截,可以看出外壳程序会对内核做出保护的机制!!

故事最后:小王还是不死心,再次找到了王婆,可是王婆想了想,人家都到了谈婚论嫁的时候了,你再进去就不合适了,王婆想,我做的可是方圆五公里的相亲呀,不能因为你而败了我的名声呀,又因为王婆比较成功,其名下有婚介所,所以其就让实习生来帮小王进行说媒,这样也不会败了我王婆的名声!于是王婆就让实习生上去帮小王!如此反复.....

对于最后这里,王婆发现小王根本不行,于是找了实习生进行替她操作,防止因为这件事,影响她的名声,这里我们可以简单的理解为shell自己不做,而是让其下面的子进程进行操作,而其自己继续接受其他命令行!

读完这个小故事,应该对shell的工作原理有了一定的认识! 下面就来总结一下吧!

是什么:

所谓的Linux外壳,其实就是用户与内核交互的中间媒介!

作用是什么:

其作用就是将用户输入的指令传递给内核,然后内核执行完命令之后,得到结果,通过外壳再传递给用户。可以看出外壳的作用就是一个中间的媒介!

为什么要存在:

1.进行命令解释

2.保护内核!(用户不清楚内核的属性!)

如何进行工作的

1.通过创建子进程,让子进程进行执行命令!(其中子进程就相当于故事中的实习生!)

2.父进程,继续进行命令行获取!(父进程就是王婆,而shell就是那个婚介所!)

总结:

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

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户


至此,就简单了介绍了shell的工作原理,希望能对读者有一定的收获!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/500956.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第N6周:使用Word2vec实现文本分类

import torch import torch.nn as nn import torchvision from torchvision import transforms,datasets import os,PIL,pathlib,warnings #忽略警告信息 warnings.filterwarnings("ignore") # win10系统 device torch.device("cuda"if torch.cuda.is_ava…

[flink 实时流基础]源算子和转换算子

文章目录 1. 源算子 Source1. 从集合读2. 从文件读取3. 从 socket 读取4. 从 kafka 读取5. 从数据生成器读取数据 2. 转换算子基本转换算子(map/ filter/ flatMap) 1. 源算子 Source Flink可以从各种来源获取数据,然后构建DataStream进行转换…

hcia datacom课程学习(5):MAC地址与arp协议

1.MAC地址 1.1 含义与作用 (1)含义: mac地址也称物理地址,是网卡设备在数据链路层的地址,全世界每一块网卡的mac地址都是唯一的,出厂时烧录在网卡上不可更改 (2)作用&#xff1a…

OKCC的API资源管理平台怎么用?

API资源管理平台,重点是“资源”管理平台,不是API接口管理平台。 天天讯通推出的API资源管理平台,类似昆石的VOS系统,区别是VOS是SIP资源管理系统,我们的API资源管理平台是API资源管理系统(AXB、AX、回拨AP…

科技下乡:数字乡村改变乡村生活方式

在科技飞速发展的时代,数字化、信息化浪潮正以前所未有的速度席卷全球。在这场科技革命中,乡村不再是滞后的代名词,而是成为了数字乡村建设的热土。科技下乡,让数字乡村成为了改变乡村生活方式的重要力量。 一、科技下乡&#xf…

京东云8核16G服务器配置租用优惠价格1198元1年、4688元三年

京东云轻量云主机8核16G服务器租用优惠价格1198元1年、4688元三年,配置为8C16G-270G SSD系统盘-5M带宽-500G月流量,华北-北京地域。京东云8核16G服务器活动页面 yunfuwuqiba.com/go/jd 活动链接打开如下图: 京东云8核16G服务器优惠价格 京东云…

操作系统OS Chapter1

操作系统OS 一、概念和功能1.概念2.功能3.目标 二、特征1.并发2.共享3.虚拟4.异步 三、发展四、运行机制五、中断和异常1.中断的作用2.中断的类型3.中断机制的原理 六、系统调用七、操作系统结构八、操作系统引导九、虚拟机 一、概念和功能 1.概念 操作系统(OS&…

harbor api v2.0

harbor api v2.0 v2.0 v2.0 “harbor api v2.0”与原来区别较大,此处harbor也做了https。另外,通过接口拿到的数据也是只能默认1页10个,所以脚本根据实际情况一页页的抓取数据 脚本主要用于统计repo、image,以及所有镜像的tag数&…

HTML网站的概念

目录 前言: 1.什么是网页: 2.什么是网站: 示例: 3.服务器: 总结: 前言: HTML也称Hyper Text Markup Language,意思是超文本标记语言,同时HTML也是前端的基础&…

IF= 13.4| 当eDNA遇上机器学习法

近日,凌恩生物客户重庆医科大学在《Water Research》(IF 13.4)发表研究论文“Supervised machine learning improves general applicability of eDNA metabarcoding for reservoir health monitoring”。该研究主要介绍了一种基于eDNA的机器学…

mysql的主从配置

MySQL主从复制是一种常见的数据库复制技术,用于实现数据在一个主数据库服务器和一个或多个从数据库服务器之间的同步。在主从配置中,主服务器负责接收和处理写操作,然后将这些变更通过binlog日志传播到从服务器,从服务器根据主服务…

【MySQL】7.MHA高可用配置及故障切换

什么是MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件 mha用于解决mysql的单点故障问题; 出现故障时,mha能在0~30秒内自动完成故障切换; 并且能在故障切换过程中&#xff0…

《让你的时间多一倍》逃离时间陷阱,你没有自己想的那么懒 - 三余书屋 3ysw.net

让你的时间多一倍 今天我们来阅读法比安奥利卡尔的作品《让你的时间多一倍》。或许你会心生疑虑,这本书是否又是一本沉闷的时间管理指南?但我要告诉你的是,尽管时间管理这个话题已经为大众所熟知,这本书却为我们揭示了一个全新的…

【Roadmap to learn LLM】Large Language Models in Five Formulas

by Alexander Rush Our hope: reasoning about LLMs Our Issue 文章目录 Perpexity(Generation)Attention(Memory)GEMM(Efficiency)用矩阵乘法说明GPU的工作原理 Chinchilla(Scaling)RASP(Reasoning)结论参考资料 the five formulas perpexity —— generationattention —— m…

PyCharm中配置PyQt5并添加外部工具

Qt Designer、PyUIC和PyRcc是Qt框架下的三个重要工具,总的来说,这三个工具各司其职,相辅相成,能显著提升Qt开发的速度与效率。 Qt Designer:是一个用于创建图形用户界面的工具,可轻松构建复杂的用户界面。…

matlab及其在数字信号处理中的应用001:软件下载及安装

目录 一,matlab的概述 matlab是什么 matlab适用于的问题 matlab的易扩展性 二,matlab的安装 1,解压所有压缩文件 2,解压镜像压缩文件 3,运行setup.exe 4,开始安装 5,不要运行软件…

EasyBoss ERP上线实时数据大屏,Shopee本土店铺数据实时监测

近日,灵隐寺PPT汇报用上数据大屏疯狂刷屏,有做东南亚本土电商的老板发现这种数据大屏的模式可以很好地展现店铺运营状况。 所以就有老板来问:EasyBoss能不能也上线实时数据大屏的功能?没问题!立马安排! 要有…

BasicVSR++模型转JIT并用c++libtorch推理

BasicVSR模型转JIT并用clibtorch推理 文章目录 BasicVSR模型转JIT并用clibtorch推理安装BasicVSR 环境1.下载源码2. 新建一个conda环境3. 安装pytorch4. 安装 mim 和 mmcv-full5. 安装 mmedit6. 下载模型文件7. 测试一下能否正常运行 转换为JIT模型用c libtorch推理效果 安装Ba…

只出现一次的数字 II

题目链接 只出现一次的数字 II 题目描述 注意点 nums中,除某个元素仅出现一次外,其余每个元素都恰出现三次设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题 解答思路 本题与只出现一次的数字的数字类似,区别是重复的数字会…

深度学习InputStreamReader类

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…