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

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

前言


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


概述


Linux中大部分指令都是文件

用户执行某种功能的时候,不是让操作系统直接执行对应的指令,而是先交给外壳程序。

啊?什么外壳程序?我不懂


张三、王婆、如花的故事


张三是一个某985双一流大学研究生毕业的码农,人高马大,目前已经就业于某知名公司,还是有所成就的。虽然张三在学业和事业上有所成就,但是不善于和异性聊天。


张二是张三的父亲,对自己的儿子张三感到骄傲。但是,已经是一个26岁的小伙子了,还没有对象,作为父亲感到着急。张三的爹也是一个有头有脸的人物,是这个村的村委书记,在村子里面还是小有名气的。


王婆是这个村里的媒婆,村里方圆十里以内,俊男少女都认识,专为年轻人牵线。


如花是张三的青梅竹马,小时候经常在一起玩,但是两人在初中之后由于学业很少有来往。


小帅也是离如花家附近不远的一个邻居,年龄相仿。

c9a2b195fdbd0002707aa0b999339bbc_42206bc67e5545f1b6d80b563070e49b.png


张三的爹因为张三还没有找对象的事情感到着急,找到村里的媒婆——王婆来介绍。于是,张三的爹就把张三的微信推给了王婆,让王婆给张三介绍。


王婆加上了张三,和张三沟通了一番。张三对自己的青梅竹马如花独有风情,张三表示,自己想和如花交往。张三是一个实打实的理工男,不善于和女生交谈,一和女生交谈,脸红,脸红的夸张。现在这个年代,这样肯定是不行的。张三还表示,希望让王婆来拉近自己和如花之间的距离,希望进一步发展关系。


那么问题来了,为什么张三不自己去找如花??

因为张三不善于和异性交谈,善于和机器打交道,不理解女生的心里。


王婆找到了如花,向如花表达了张三的意思,但是如花表示,自己和张三不合适。


王婆也把如花的意思传给了张三,王婆也劝说张三,不要再找人家了,王婆可给张三介绍别的女生。


但是张三是一个专一的男人,只想要和如花交往,于是便让王婆再去说说。


第二天,王婆又来到了如花的家,但是还没有进家,就看到如花一家和小帅坐在一起吃饭,看着像是一家子,王婆也就没好意思到如花的家里面了。因为大家都知道王婆是一个媒婆,趁现在这个情况,进如花家里面自然是不太好。


王婆自己知道,张三和如花是不可能进一步发展关系的,委婉地和张三说自己可以给张三介绍村里其他的姑娘。


但是张三非要和如花交往,继续让王婆再去如花家说说,这让王婆也没有办法,毕竟人家父亲张二是村委书记。


王婆只能每次都路过如花家里,但是不进去,也不交谈,直接和张三说不可能进一步发展。


话说这事情都过去了这么久,书记家儿子这事还迟迟没有解决,让书记觉得有些难堪。而且,堂堂村里的媒婆,迟迟不能给别人牵线成功,这让王婆的名声也不太好。


于是,王婆在隔壁村,招录实习生,要求是心理学专业,大批大批的实习生来王婆着实习了。


张三每次让王婆去劝劝如花的时候,王婆就让自己的实习生来解决。王婆知道这事成不了,就把这事推给实习生来做,自己便可以去解决有把握的事情。这样一来,王婆的名声也就不会被毁坏,村里的人都认为是别人介绍的。张三的爹来问王婆的话,王婆也就可以把责任推给实习生了。


于是,这件事久久不能摆平…


故事的结尾留给读者自己想象吧,欢迎各位读者评论区发挥想象,帮小编完成后续。


Shell命令以及运行原理


这里的张三相当于用户,王婆相当于外壳程序,如花相当于操作系统


用户想对操作系统执行操作,但是没有办法直接和操作系统进行沟通,于是通过外壳程序。相当于张三不善于和异性沟通,通过王婆来沟通。


当用户执行的操作失败时,外壳程序无法对操作系统执行操作。相当于王婆没办法劝说如花。


外壳程序无法对操作系统执行,操作系统会对外壳程序报错信息。相当于如花的言语和行为向王婆表示自己和张三不合适。


外壳程序对用户进行提示,执行失败。相当于王婆对张三表示不可能发展关系。


此时,相信读者应该理解了外壳程序概念:


什么是外壳程序?

外壳程序是介于用户和操作系统间的软件,是命令行解释器:将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。


为什么要有外壳程序?

(1)用户不善于直接和操作系统交互;(2)外壳的存在,可以对请求进行合法性检查,变相地保护OS。


外壳程序怎么对OS保护?

是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。常用的bash就是这个操作,bash也就相当于王婆。


什么是Shell程序?

Shell程序是外壳程序的统称,相当于媒婆,bash是其中一个,相当于其中一个媒婆,即王婆。


后记


张三和如花的故事还没有结束,希望各位读者发挥想象,在评论区发出故事的后续…

目录
相关文章
|
6月前
|
存储 Unix Shell
Shell 输出命令完全指南:echo 与 printf 的深度剖析
本文深入解析了 Shell 编程中 `echo` 和 `printf` 两个核心输出命令的用法与区别。`echo` 简单易用,适合基础输出;`printf` 功能强大,支持复杂格式化。文章从语法、转义序列、高级技巧到实际应用场景(如日志记录、进度显示)逐一讲解,并对比两者的性能与适用场景,帮助开发者根据需求灵活选择。最后通过进阶技巧和常见问题解答,进一步提升对两者的掌握程度。
291 1
|
7月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
9月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
249 20
|
9月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
302 12
|
11月前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
1273 7
|
12天前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
207 9
|
12天前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
68 2
|
1月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
4月前
|
Shell
Shell脚本循环控制:shift、continue、break、exit指令
使用这些命令可以让你的Shell脚本像有生命一样动起来。正确使用它们,你的脚本就能像一场精心编排的舞蹈剧目,既有旋律的起伏,也有节奏的跳跃,最终以一场惊艳的表演结束。每一个动作、每一个转折点,都准确、优雅地完成所需要表达的逻辑。如此,你的脚本不只是冰冷的代码,它透过终端的界面,跳着有节奏的舞蹈,走进观众——使用者的心中。
206 60