linux入门---shell感性认识

news2024/11/18 7:50:35

命令行解释器

我们目前学了很多的指令,并且这些指令在磁盘上都是以文件的形式存在的:
在这里插入图片描述
通过file可以查看这些文件的信息,我们发现这些文件都含有executable这个单词,那么executable的意思就是这个文件在x86-64平台下是可以执行的,那么这就说明我们所使用的每一个指令其实都是在磁盘中存在的可执行程序,那这里就会存在一个问题,这些可执行程序是如何在xshell这个平台上运行起来的呢?我们平时总是说shell,那shell究竟是什么呢?我们首先来回答一下后面的问题Shell最简单定义就是命令行解释器(command Interpreter)。命令行解释器的表现就在于我们平时使用xshell时所看到的命令行提示符
在这里插入图片描述
以及我们输入指令并且可以执行都是命令行解释器
在这里插入图片描述
而在linux当中我们通常把这个命令行解释器称为shell外壳程序,当然看到这里很多人还是不知道shell到底时干什么的,那么接下来我们就通过一个相亲的例子来带着大家看看shell究竟是什么?有什么用?

例子

在一个村里的最西边住着一个张村长,张村长有个儿子叫张三
在这里插入图片描述
在村子的东边有个王婆,王婆开了一家婚介公司专门帮别人说媒使两个人凑成一对
在这里插入图片描述
然后张三喜欢上了一个女孩叫如花,但是张三是一个经典的直男对于如何撩女孩子如何追女孩子那是一窍不通天天只会说吃了没?睡了没?你在干嘛?时不时给如花买一个奇怪的礼物花冤枉钱,那如花看到这些消息收到完全不喜欢的礼物那简直就无语啦?不知道怎么跟他交流,所以就直接拒绝了他的好意将他屏蔽了,
在这里插入图片描述

但是张三是一个舔狗他说过他这一生非如花不娶,所以张三就奔赴千里来到村子的东边找到了婚介公司的老总王婆,王婆看到张村长的儿子不远千里来找自己帮忙十分的感动决定亲自去找如花劝说如花同意成为张三的女朋友:
在这里插入图片描述
王婆在c村特别的有钱是神话般的存在,所以如花在见到王婆的时候那是十分的热情礼貌,非常热情的接待王婆的到来,但是王婆这次来是帮张三说好话的,如花一听张三请的王婆,她就直接跟王婆说我不可能和张三在一起的他跟我完全是两个世界的人,他实在是太直男了不知道怎么跟他交流,所以我和他是不可能的,而且我已经有个男朋友了叫李四,我们两马上就要结婚了:
在这里插入图片描述
王婆听到如花的这般说辞直接傻眼了,这还怎么说媒啊完全说不了啊,所以王婆就直接回到婚介公司打电话跟张三说:张三啊这件事不好办啊如花她都快结婚了这我无能为力啊要不我给你介绍其他的菇凉吧,我先把电话挂了去跟你找找有没有跟你十分匹配的女孩子,说完媒婆就把电话挂了。然后媒婆就跑到电脑旁边仔细的挑选女孩子给张三,但是王婆挑着挑着张三就又跑到婚介公司来吵着跟王婆说:王婆我不要其他的我就要如花,要不你跟如花说说李四的坏话吧,把李四和如花拆散吧这样我和她就会有机会了,但是王婆是一个很正道的人心想做人怎么可以这样呢!别人过的好好的怎么能为了你的请求把他们拆散了,所以王婆直接拒绝了张三的请求。
在这里插入图片描述
好看到了这里我们的故事就讲了一大半了 ,相比大家应该能够了解这里执行的过程,我们每一个使用者就相当于这里的张三,而llinux操作系统就相当于这里的如花,我们人和操作系统很难的沟通就相当于张三是个直男无法跟如花进行沟通,张三无法跟如花沟通就知道找到一个媒介王婆来转述自己的请求以此达到自己的目的,所以我们人也会找到一个媒介来和Linux操作系统进行沟通以此来达到使用者的目的,比如说创建一个文件删除一个文件,那么人和操作系统的媒介就是shell,也就是我们所说的命令行解释器,所以我们每次执行的指令并不是直接交给操作系统的而是交给了shell,shell再交给操作系统从而执行对应的操作
在这里插入图片描述
张三给王婆提供了一些不好的建议以此来破坏如花现在的幸福就相当于用户使用一些非法的指令来破坏操作系统的稳定和安全,王婆拒绝了张三的请求就相当于shell拒绝执行我们给他的指令以此来保护操作系统的安全,所以看到这里相比大家能够理解shell为什么存在的原因首先:shell能够帮助我们用户与操作系统打交道,其次shell的存在还可以变相的保护操作系统不被破坏,只要到操作系统了都是shell认为的安全操作,故事到这里还差最后一点:当年王婆创业成立婚介公司的时候,张村长是鼎力相助的帮了王婆很大的忙,张三看到自己请求被拒绝之后就十分的恼火直接把自己的爸爸叫着一起去了婚介公司,王婆看到这阵势直接被吓到了毕竟当初村长帮了很大的忙,但是王婆更知道如花是不会答应自己的请求的所以王婆就想了一个办法说:我同意你的请求但是我现在确实没有时间去跟如花沟通,这样好吧我们公司的不停的招聘说媒专家,我让这些专家去跟如花沟通如何?村长和张三听到这方法十分的合理,毕竟他们也知道王婆每天很胖没办法只办我们自己的事情,听到这个方法后村长和张三就走了,王婆招聘了一个说媒专家前往了如花家:
在这里插入图片描述
但是很显然这个说媒专家去也是失败王婆将这个结果告诉张三,张三依然不服气依旧想着还有机会能够争取获得如花就又想着王婆再帮忙,王婆一想这还不好办,我再给你拍一个说媒专家不就够了,虽然这些说媒专家去的结局都是失败的但是这不会影响我本公司的业务能力这些说媒专家都是临时招聘的不记录在我本公司的帐底下,无所谓只要你张三来找我我就招聘一个临时工,至于临时工怎么样和我没关系,那么这里的不停招聘临时工就相当于我们shell在执行命令的时候是通过派生子进程的方式来执行用户的命令,而shell本身一般而言是不会执行相对的指令的,这样的话用户的指令出现了错误是不会导致shell这个外壳挂掉的而是让shell创建的子进程挂掉,但是子进程可以不停的创建它挂不挂无所谓,如果shell挂掉之后用户就无法与操作系统进行沟通了。在我们平时的生活中我们一般把内部的操作系统称为linux内核:
在这里插入图片描述
把操作系统加shell称之为linux,所以我们作为用户在使用操作系统的时候是与操作系统外壳打交道,而不是与操作系统内核进行打交道。从技术角度,Shell的最简单定义:命令行解释器,他的作用就是:将使用者的命令翻译给核心处理,同时将核心的处理结果翻译给使用者。同时我们平时使用的Windows的图形界面实际上也是一种外壳程序,Linux shell命令行外壳和win图形化界面实际上是一个兄弟关系,这里大家最后再了解一点就是这里的shell其实是一个统称,在不同版本下拥有着不同的命令行解释器,比如说红旗红帽的具体shell外壳那就是不一样的,我们这里是centos7版本所以这里具体的shell外壳就是bash,我们可以在xshell上面找到具体的bash,比如说下面的操作:
在这里插入图片描述
我们每次登录linux操作系统的时候,第一个跑起来的程序其实就是bash,它跑起来之后再给你打印解释器,然后你输入的每个指令就会交给解释器 ,如果大家这里还是不能够理解的话,这里我们就来做一个类比,如果说shell是媒婆的话,那么这里的bash就是王婆,一个是行业的统称,一个是行业中具体的人,那么这就是shell的感性认识,希望大家可以理解。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【巨人的肩膀】JAVA面试总结(五)

1、💪 目录1、💪1.1、什么是Spring框架1.2、Spring、SpringMVC、SpringBoot三者关系1.3、谈谈对于Spring IoC 和 DI 的理解1.4、什么是依赖注入?可以通过多少种方式完成依赖注入1.5、什么是Spring Bean1.6、将一个类声明为Bean的注解有哪些1.…

PMP是什么意思?适合哪些人学呢?

PMP简而言之,就是提高项目管理理论基础和实践能力的考试。 官方一点的说明呢,就是:PMP证书全称为Project Management Professional,也叫项目管理专业人士资格认证。 PMP证书由美国项目管理协会(PMI)发起,是严格评估项…

Docker镜像的内部机制

Docker镜像的内部机制 镜像就是一个打包文件,里面包含了应用程序还有它运行所依赖的环境,例如文件系统、环境变量、配置参数等等。 环境变量、配置参数这些东西还是比较简单的,随便用一个 manifest 清单就可以管理,真正麻烦的是文…

【VC 7/8】vCenter Server 基于文件的备份和还原Ⅱ——使用 FTP 协议备份 VC(VAMI 英文)

目录2. 备份 vCenter Server2.1 使用 FTP 协议备份 VC(1)登录 vCenter Server 管理界面(2)进入Backup页面(3)配置 Backup Schedule(4)开始备份(5)备份成功&am…

信息安全与数学基础-笔记-④二次同余方程

知识目录二次同余方程的解欧拉判别式Legendre (勒让德符号)二次同余方程的解 什么是二次同余方程的解 注意这里二次同余方程和一次同余方程是不一样的 在x2x^2x2 三 a (mod m) 方程中举例 ↓ 解即剩余类,因为是模m,所以我们在 [ 0, m-1 ]中逐个代入看是…

HTML DOM

通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。HTML DOM (文档对象模型)当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处…

Compaction的原理与Hbase Compaction实现

HBase中的用户数据在LSM树体系架构中最终会形成一个一个小的HFile文件。我们知道,HFile小文件如果数量太多会导致读取低效。为了提高读取效率,LSM树体系架构设计了一个非常重要的模块——Compaction。Compaction核心功能是将小文件合并成大文件&#xff…

现代C++教程 笔记

写在前面 记录一下《现代C教程》中的要点。 现代C是指C11之后的语法特性,如无特别说明,下面的语法特性均是C11后才可使用。 一、语言可用性的强化 1. 常量 1.1 nullptr 作用: 代替NULL赋空指针; 使用: char *a …

进制的转换:

任意进制转换成十进制:十进制数位置上数*当前进制的位权二进制与八进制、十六进制之间的转换:3个二进制一个8进制4个二进制一个16进制各种进制的书写方式:十进制转换任意进制,分为整数部分和小数部分:整数部分(除基取余法&#xf…

SpringCloud的五大组件功能

SpringCloud的五大组件 EurekaRibbonHystrixZuulConfig 一、Eureka 作用是实现服务治理,即服务注册与发现。 Eureka服务器相当于一个中介,负责管理、记录服务提供者的信息。服务调用者不需要自己寻找服务 ,而是把需求告诉Eureka &#x…

IronWebScraper 2023.2.2 Crack

关于 .NET 的 IronWebScraper 用于从 HTML Web 应用程序中提取干净的结构化数据的 C# 框架。 IronWebScraper for .NET 是一个 C# 网络抓取库,它允许开发人员模拟和自动化人类浏览行为,以从 Web 应用程序中提取内容、文件和图像作为本机 .NET 对象。Iron…

基于Flink SQL CDC Mysql to Mysql数据同步

基于Flink SQL CDC Mysql to Mysql数据同步 Flink CDC有两种方式同步数据库: 一种是通过FlinkSQL直接输入两表数据库映射进行数据同步,缺点是只能单表进行同步;一种是通过DataStream开发一个maven项目,打成jar包上传到服务器运行…

考研第一天,汤家凤基础班,连续与极限复习笔记

函数连续极限性质保号性证明极值点:夹逼准则二项式展开根号下,大于一,小于一的讨论直接放缩求和分子分母齐次,且分母大一次,用积分单调有界存在极限几个重要的切线放缩证明有界,然后放缩求单调证明有界&…

智慧高校数字化校园数据中心建设方案

本资料来源网络,知识分享,仅供个人学习,请勿商用。完整资料阅览见文末,部分资料内容: 一、 云数据中心建设规划云计算平台逻辑架构图 云设施即服务(IaaS,Cloud Infrastructure as a Service):系…

信息系统项目管理师——信息化和信息系统

信息的特征(掌握) 1、客观性 2、普遍性 3、无限性 4、动态性:信息是随着时间的变化而变化的。 5、相对性 6、依附性: 1)信息是客观世界的反映,任何信息必然由客观事物所产生,不存在无源的信息。…

视觉SLAM十四讲ch5 相机与图像笔记

视觉SLAM十四讲ch5 相机与图像本讲目标上讲回顾相机模型小孔成像模型(单目模型)畸变双目模型RGB-D相机本讲目标 ●理解理解针孔相机的模型、内参与径向畸变参数。 ●理解一个空间点是如何投影到相机成像平面的。 ●掌握OpenCV的图像存储与表达方式。 ●…

synchronized原理(轻量级,锁膨胀,自旋,偏向锁)

轻量级锁 轻量级锁的使用场景:如果一个对象虽然有多线程要加锁,但加锁的时间是错开的(也就是没有竞争),那么可以使用轻量级锁来优化。 轻量级锁对使用者是透明的,即语法仍然是 synchronized。 轻量级锁加…

c++11 标准模板(STL)(std::unordered_map)(三)

定义于头文件 <unordered_map> template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered…

学习 Python 之 Pygame 开发魂斗罗(九)

学习 Python 之 Pygame 开发魂斗罗&#xff08;九&#xff09;继续编写魂斗罗1. 在子弹类中修改敌人发射子弹的位置2. 创建显示敌人子弹的函数3. 解决敌人不会向下掉落的问题4. 给敌人碰撞体组增加碰撞体5. 解决敌人叠加在一起的问题继续编写魂斗罗 在上次的博客学习 Python 之…

linux入门---如何实现用户切换

目录标题基本用户认识用户的切换susu -exitsu 用户名sudo基本用户认识 在linux系统中将用户分为两个大类一个是root用户一个是普通用户&#xff0c;root用户是linux操作系统的超级管理员&#xff0c;相当于古代的皇帝不会受到任何的权限约束&#xff0c;而普通用户就会受到权限…