Linux——shell外壳程序

这篇具有很好参考价值的文章主要介绍了Linux——shell外壳程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

shell外壳程序

1. 什么是shell外壳程序

  • Linux严格意义上说的是一个操作系统,我们称之为“核心 “ ,但我们一般用户,不能直接使用核心。
    而是通过核心的“外壳”程序,也就是所谓的shell

  • shell是所有外壳程序的统称

  • 平时程序员所用的指令操作和开发操作都是在shell外壳之上操作
  • Linux中,shell外壳指的就是命令行,在windos中指的就是图形化界面

我们可以用下面的关系图来表示:

Linux——shell外壳程序,Linux教程,linux,运维,服务器


2. 为什么要有shell外壳

有小伙伴会有疑问:作为Linux系统的使用者,我们为什么不直接向操作系统交互,反而要通过shell外壳这一媒介呢?

我们先来引入一个生动的故事:

2.1 讲个故事:

阶段一:

从前有个村庄,村里村长有一个儿子——小李,他仰慕儿时的女玩伴——小花,一天,小李想对小花提出交往的请求,但奈何小李性格腼腆,不敢和小花当面交流,因此就找来了村里的媒婆——王姨。

阶段二:

王姨听了小李的诉求后就去找小花商量,但是小花却对小李不感兴趣,随便找了个理由搪塞了过去。小李从王姨那听说了后仍不死心,希望王姨再争取一下。当王姨第二次来到小花家时,远远地便望见小花正在和另一个男生还有她的父母正坐一桌吃饭,有声有笑、其乐融融,这时王姨便意识到这个时候再去找小花便是一个不明智的危险的行为——小花已经名花有主,再去说媒就会招人嫌。但小李仍旧不死心,希望王姨想想办法。这时王姨就苦恼了,既不能得罪了村长的儿子,又不能硬找已经有对象的小花,砸自家招牌,怎么办呢?

阶段三:

王姨心生一计,她开了一个事务招待所,并招揽了大量实习生。她让实习生去做那些成功率低的媒事,而自己只做成功率高的。这样就算实习生失败了,也不会影响到自己的声誉,同时也可以用“实习生经验不足”的理由来对付求媒人。两全其美。

  • 看完了这个故事,我们可以将故事中的小花比作是Linux中的内核,将小李比作是不断向内核操作系统发送请求的用户,而王姨就是沟通内核和用户的shell外壳。

    即:小花 -> Linux内核 小李 -> 用户 王姨 -> shell外壳

  • 做完类比,我们再从易用程度安全两个角度来讨论为什么要有shell外壳这个问题:

2.2 易用程度

  • 就像小李难以直接向小花表达感情,用户也难以直接向操作系统直接发送请求
  • 为了能够让小花听到小李的心意,就需要王姨这个中间媒介来传达。同样,为了能让内核能够清楚地知道用户的需求,我们都会通过shell外壳程序来间接地对内核进行交互

2.3 安全

  • 就像故事中小花明明已经名花有主,但小李仍要提出交往,王姨认为这个行为不合适,直接不执行
  • 当shell外壳程序认为用户向系统内核提出的请求不合理甚至危险时,shell外壳会对该指令直接拦截,不予执行。
  • 因此我们可以说:对于某些不合理的非法指令,shell外壳会进行拦截,一定程度上保护了内部的操作系统

3. shell外壳程序的特点

  1. shell是一切外壳程序的统称

    • 在Linux的centOSubuntu中,这个外壳程序一般叫做bash:将用户的命令进行解析,并传达给内核;同时将内核的反馈结果进行解析在返回给用户。
    • 在Windows系统中,这个外壳程序一般叫做图形化界面:通过鼠标双击、右键、左键等一些列操作实现于内核的交互。
  2. shell外壳的子进程

    • 从本质上来说,shell外壳实际上已是一个程序(进程),系统只要启动就会一直存在
    • 故事中我们讲到,如果王姨认为一桩媒事的成功概率不大,那么她就会让实习生来做。
    • 同样,如果shell外壳认为用户输入的指令是有风险的,那么shell外壳就会用创建子进程的方式让子进程来执行,而让自己规避风险

4. 总结

在学习Linux的过程中,我们不免会发出疑问,下图的字符串到底是什么?

Linux——shell外壳程序,Linux教程,linux,运维,服务器

  • 实际上,上面那一串等待我们输入指令的字符串就叫做命令行解释器

  • 而命令行解释器的背后有一个程序,它用来接收用户输入的指令,并执行由用户到内核,再由内核返回到用户翻译工作

  • 这个程序就叫做shell外壳程序

经过本次的学习,我们可以做出如下的总结文章来源地址https://www.toymoban.com/news/detail-722974.html

  • shell外壳程序是一切外壳程序的统称
  • shell外壳程序是连接用户和系统内核间的桥梁
  • shell外壳在方便用户和内核交互的同时也在一定程度上保护了内核的安全

到了这里,关于Linux——shell外壳程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二)

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具,使得拥有基本编写代码的能力。 🔥该文章主要了解Shell外壳(理论)及用户权限,该系列

    2024年02月05日
    浏览(51)
  • 【从零开始学习Linux】一文带你了解Shell外壳及用户权限(一)

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具,使得拥有基本编写代码的能力。 🔥该文章主要了解Shell外壳(理论)及用户权限,其中用

    2024年02月06日
    浏览(74)
  • Linux中的shell外壳与权限(包含目录文件的权限,粘滞位的来龙去脉)

    Linux严格意义上说的是一个操作系统,我们称之为\\\"核心(kernel)\\\", 但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。 操作系统本身是需要易用程度和安全性的 而对于我们使用电脑的普通用户来说,我们是不能直接访问

    2024年02月08日
    浏览(51)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(81)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(74)
  • Linux&Shell--多服务器自动登录连接

    sshpass 是一个命令行工具,用于自动化SSH密码认证。它通常在脚本或自动化任务中使用,其中您需要提供密码以建立SSH连接,而无需用户干预。可以直接将密码作为命令行参数或通过文件提供,以便在建立SSH连接时自动输入密码。这对于需要自动化处理SSH连接的任务非常有用

    2024年02月03日
    浏览(60)
  • 【Linux 服务器运维】定时任务 crontab 详解 | 文末送书

    本文思维导图概述的主要内容: 1.1 什么是 crontab Crontab 是一个在 Unix 和 Linux 操作系统上 用于定时执行任务 的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写, cron 指的是 Unix 系统中的一个后台进程,它

    2024年02月08日
    浏览(92)
  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(82)
  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(98)
  • shell脚本——服务器巡检(自动化运维)

     目的   自动 获取集群内 多个主机 的内存、磁盘、cpu等信息 生成日志  准备    VMware虚拟主机IP在同一个网段(互相能ping通)             虚拟主机都有公钥免登录            修改主机IP  vi/etc/sysconfig/netwoek-scripts/ifcfg-ens160            设置主机名 hostnamectl set-ho

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包