张三、如花、王婆带你了解Shell命令以及运行原理

2023-12-03 01:52

本文主要是介绍张三、如花、王婆带你了解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命令以及运行原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/447650

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991