张三、如花、王婆带你了解Shell命令以及运行原理
文章目录
- 前言
- 概述
- 张三、王婆、如花的故事
- Shell命令以及运行原理
- 后记
前言
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
概述
Linux中大部分指令都是文件
用户执行某种功能的时候,不是让操作系统直接执行对应的指令,而是先交给外壳程序。
啊?什么外壳程序?我不懂
张三、王婆、如花的故事
张三是一个某985双一流大学研究生毕业的码农,人高马大,目前已经就业于某知名公司,还是有所成就的。虽然张三在学业和事业上有所成就,但是不善于和异性聊天。
张二是张三的父亲,对自己的儿子张三感到骄傲。但是,已经是一个26岁的小伙子了,还没有对象,作为父亲感到着急。张三的爹也是一个有头有脸的人物,是这个村的村委书记,在村子里面还是小有名气的。
王婆是这个村里的媒婆,村里方圆十里以内,俊男少女都认识,专为年轻人牵线。
如花是张三的青梅竹马,小时候经常在一起玩,但是两人在初中之后由于学业很少有来往。
小帅也是离如花家附近不远的一个邻居,年龄相仿。
张三的爹因为张三还没有找对象的事情感到着急,找到村里的媒婆——王婆来介绍。于是,张三的爹就把张三的微信推给了王婆,让王婆给张三介绍。
王婆加上了张三,和张三沟通了一番。张三对自己的青梅竹马如花独有风情,张三表示,自己想和如花交往。张三是一个实打实的理工男,不善于和女生交谈,一和女生交谈,脸红,脸红的夸张。现在这个年代,这样肯定是不行的。张三还表示,希望让王婆来拉近自己和如花之间的距离,希望进一步发展关系。
那么问题来了,为什么张三不自己去找如花??
因为张三不善于和异性交谈,善于和机器打交道,不理解女生的心里。
王婆找到了如花,向如花表达了张三的意思,但是如花表示,自己和张三不合适。
王婆也把如花的意思传给了张三,王婆也劝说张三,不要再找人家了,王婆可给张三介绍别的女生。
但是张三是一个专一的男人,只想要和如花交往,于是便让王婆再去说说。
第二天,王婆又来到了如花的家,但是还没有进家,就看到如花一家和小帅坐在一起吃饭,看着像是一家子,王婆也就没好意思到如花的家里面了。因为大家都知道王婆是一个媒婆,趁现在这个情况,进如花家里面自然是不太好。
王婆自己知道,张三和如花是不可能进一步发展关系的,委婉地和张三说自己可以给张三介绍村里其他的姑娘。
但是张三非要和如花交往,继续让王婆再去如花家说说,这让王婆也没有办法,毕竟人家父亲张二是村委书记。
王婆只能每次都路过如花家里,但是不进去,也不交谈,直接和张三说不可能进一步发展。
话说这事情都过去了这么久,书记家儿子这事还迟迟没有解决,让书记觉得有些难堪。而且,堂堂村里的媒婆,迟迟不能给别人牵线成功,这让王婆的名声也不太好。
于是,王婆在隔壁村,招录实习生,要求是心理学专业,大批大批的实习生来王婆着实习了。
张三每次让王婆去劝劝如花的时候,王婆就让自己的实习生来解决。王婆知道这事成不了,就把这事推给实习生来做,自己便可以去解决有把握的事情。这样一来,王婆的名声也就不会被毁坏,村里的人都认为是别人介绍的。张三的爹来问王婆的话,王婆也就可以把责任推给实习生了。
于是,这件事久久不能摆平…
故事的结尾留给读者自己想象吧,欢迎各位读者评论区发挥想象,帮小编完成后续。
Shell命令以及运行原理
这里的张三相当于用户,王婆相当于外壳程序,如花相当于操作系统
用户想对操作系统执行操作,但是没有办法直接和操作系统进行沟通,于是通过外壳程序。相当于张三不善于和异性沟通,通过王婆来沟通。
当用户执行的操作失败时,外壳程序无法对操作系统执行操作。相当于王婆没办法劝说如花。
外壳程序无法对操作系统执行,操作系统会对外壳程序报错信息。相当于如花的言语和行为向王婆表示自己和张三不合适。
外壳程序对用户进行提示,执行失败。相当于王婆对张三表示不可能发展关系。
此时,相信读者应该理解了外壳程序概念:
什么是外壳程序?
外壳程序是介于用户和操作系统间的软件,是命令行解释器:将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。
为什么要有外壳程序?
(1)用户不善于直接和操作系统交互;(2)外壳的存在,可以对请求进行合法性检查,变相地保护OS。
外壳程序怎么对OS保护?
是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。常用的bash
就是这个操作,bash
也就相当于王婆。
什么是Shell程序?
Shell程序是外壳程序的统称,相当于媒婆,bash
是其中一个,相当于其中一个媒婆,即王婆。
后记
张三和如花的故事还没有结束,希望各位读者发挥想象,在评论区发出故事的后续…
相关文章:

张三、如花、王婆带你了解Shell命令以及运行原理
文章目录 前言概述张三、王婆、如花的故事Shell命令以及运行原理后记 前言 Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序&…...
redis介绍和安装、redis普通连接和连接池、字符串类型、hash类型、列表类型列表类型
文章目录 redis介绍和安装安装步骤启动,连接 redis普通连接和连接池普通连接连接池 redis字符串类型redis hash类型redis列表类型 redis介绍和安装 redis 什么? 数据库就是个存数据的地方:只是不同数据库数据组织,存放形式不一样…...

集成开发环境PyCharm的使用【侯小啾python领航计划系列(三)】
集成开发环境 PyCharm 的使用【侯小啾python领航计划系列(三)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…...

Flink(九)【时间语义与水位线】
前言 2023-12-02-20:05,终于写完啦,最近状态不错。刚写完又收到了她的消息哈哈哈哈,开心。 再去全力打拼一次,奋战一场,就算最后打了败仗也无所谓,至少你留下了足迹。 《解忧杂货店》 1、时间语义 …...
torch中的随机数种子
如何在torch生成随机数时,设置随机种子,要求每次调用生成的随机数都一样 在 PyTorch 中,可以使用 torch.manual_seed(seed) 函数设置随机种子,以确保每次运行代码时生成的随机数都一样。 以下是一个示例代码,展示了如…...
C 标准库 <math.h>
C 标准库 <math.h> C <math.h>头文件声明了一组函数来执行数学运算,例如:sqrt()计算平方根,log()查找数字的自然对数,等等。 math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的函数都带有一个 double…...

一篇带你串通数据结构
文章目录 导论数据结构的定义数据结构在计算机科学中的重要性为什么学习数据结构很重要 1、基本概念1.1、数据、数据元素和数据项的概念1.2、数据对象与数据结构的关系1.3、逻辑结构与物理结构 2、线性结构2.1、数组2.2、链表2.3、栈2.4、队列 3、非线性结构3.1、树3.2、图 4、…...

网络篇---第九篇
系列文章目录 文章目录 系列文章目录前言一、说说TCP/IP四层网络模型二、说说域名解析详细过程?三、 IP 地址分为几类,每类都代表什么,私网是哪些?四、说说TCP 如何保证可靠性的?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家…...

Python基础学习快速入门
文章目录 Number变量String字符串Def函数Class类List列表Tuple元组Dictionary字典Set集合值与引用类型if条件控制Loop循环 Number变量 python直接赋值,不需要定义变量类型。不需要**,逗号结尾符 使用print**直接进行输出 #赋值 a 1.0 print(a)a 7 print(a)p…...

C语言-预处理与库
预处理、动态库、静态库 1. 声明与定义分离 一个源文件对应一个头文件 注意: 头文件名以 .h 作为后缀头文件名要与对应的原文件名 一致 例: 源文件:01_code.c #include <stdio.h> int num01 10; int num02 20; void add(int a, in…...

王道数据结构课后代码题p40 9.给定一个带表头结点的单链表,写出算法 : 按递增次序输出单链表中各结点的数据元素并释放结点 (c语言代码实现)
本题代码如下(有注释) void delete_min(linklist* head) {while ((*head)->next ! NULL)//循环到只剩下头节点{lnode* pre *head;//pre为元素最小结点的前驱结点指针lnode* p (*head)->next;//p为工作指针lnode* q;//指向被删除的结点while (p-…...
对系统的 Go 版本进行升级
方法一 直接升级系统的 Go 版本 注意以下操作仅适用于:amd64 架构的 Centos 系统。如果需要适配其他架构,需要自行编写代码实现。 手动执行: # 显示当前版本 go version # 查看环境变量 cat /etc/profile # 进入 go 的安装目录,…...

【从删库到跑路 | MySQL总结篇】事务详细介绍
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、事务…...
七牛云1024创建节-赛后有感
距离比赛结束已经过去快半个月时间,七牛云又发起了有奖征文的活动,正好借此机会记录一下自己参加这次比赛的经历,感受和一些比赛的心得。 如何了解到的比赛信息 其实我很早就开始关注七牛云了,最早是在今年二三月的时候…...

CSS 选择器优先级,!important 也会被覆盖?
目录 1,重要性2,专用性3,源代码顺序 CSS 属性值的计算过程中。其中第2步层叠冲突只是简单说明了下,这篇文章来详细介绍。 层叠冲突更广泛的被称为 CSS选择器优先级计算。 为什么叫层叠冲突,可以理解为 CSS 是 Cascadi…...
关于src别名的配置之tsconfig.json配置
tsconfig.json {"compilerOptions": {"baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录"paths": { //路径映射,相对于baseUrl"/*": ["src/*"] }} } ① "baseUrl": &…...

Mybatis如何执行批量操作
文章目录 Mybatis如何执行批量操作使用foreach标签 使用ExecutorType.BATCH如何获取生成的主键 Mybatis如何执行批量操作 使用foreach标签 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach标签的属性主要有item,index&…...
LeetCode 1094. 拼车:优先队列
【LetMeFly】1094.拼车:优先队列 力扣题目链接:https://leetcode.cn/problems/car-pooling/ 车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向) 给定整数 capacity 和一个数组…...
项目开发维护技术文档(总结梳理)
目录 一、项目背景 二、架构设计 1.技术栈 2.架构图 3.代码结构 三、模块划分 1.用户模块 2.商品模块 四、开发规范 1.命名规范 2.代码格式 3.版本控制 五、部署流程 1.环境要求 2.部署流程 六、问题解决 1.数据库连接异常 2.Redis缓存失效 七、参考资料 项…...
01_学习使用javax_ws_rs_上传文件
文章目录 1 前言2 Maven 依赖3 上传接口4 如何解析 MultipartFormDataInput5 结语 1 前言 使用 Spring MVC 来处理文件上传,想必是大家耳熟能详的了,如下代码: ResponseBody PostMapping("/upload") public String upload(Request…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...