在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Shell是什么?可能对于一些完全没有计算机基础的朋友来讲,想要理解Shell的概念可能会有一些困难。本文将从Shell的出现、定义以及分类来带大家快速理解Shell的概念。
1、为什么会出现Shell
我们日常使用的操作系统如Windows、Mac OS、Android、iOS等系统,都是带有美美的图形操作界面的,根据图形加简短的文案提示,就知道该程序是干嘛的,任何人都可以上手。然而在计算机的初期,并没有类似这样的图形界面,如果要使用计算机只能用一个个的命令去操作。想想成天面对着黑屏,敲着成百上千个命令来做事,这样的计算机只能给专业人士使用,无法普及。
当然,无论是图形界面还是命令行,最终要实行的目的是一致的:用户需要控制计算机。然而真正能够对计算机进行控制的只有系统内核Kernel,而用户不需要也很难直接去接触系统内核,那么就需要有有一个“中间件”或者桥梁将用户与Kernel连接起来,用户界面和命令行程序就是这座桥梁,在Linux系统中,这个命令行程序叫Shell。以上只是对Shell的通俗解释。
2、什么是shell?
Linux系统的shell介于系统内核与用户之间,相当于系统与用户间的桥梁,负责解析输入的命令和输出的二进制码。另外,shell也属于一种程序设计语言,为用户提供操作机器的交互接口,使用户输入的命令能够传送到内核执行并把处理结果反馈回来。一句话解释Shell的概念:shell就是在操作系统和应用程序之间的一个命令翻译工具。
3、shell的分类有哪些?
(1)图形界面shell,桌面就是一个图形界面shell。
(2)命令行shell,如:linux系统下的bash。
3、Shell连接用户与内核的真相
Shell程序本身的功能是很弱的,我们运行一个命令,Shell去调用内核暴露出来的接口,也就是调用一个个函数,调用函数即是使用内核。比如我们在命令行执行命令cat xxx.log命令来查日志文件内容。然而,这个文件在哪个位置,有多少个数据块等等这些细节,shell都是不知道的,它只能去调用内核提供的read或open函数,告诉内核我需要这样做,你帮我去做。
4、Shell 是一种脚本语言
有些编程语言可以一边编译一边执行,我们称之为脚本语言(Script)。脚本语言是使用灵活、部署容易、跨平台性好。Shell 就是一种脚本语言,我们编写完源码后不用编译,直接运行源码即可。Shell 虽然没有其他编程语言那么强大,如C++、Python,但也支持基本的编程元素,例如:if...else,case,for、while等;变量、数组、字符串、加减乘除、逻辑运算等;函数,包括用户自定义的函数和内置函数(例如 printf、export、eval 等)。
看到这里,想必打击对于“Shell是什么”,应该有了自己的答案了。希望大家都可以通过本文快速理解Shell的概念,更多的IT技术干货尽在博学谷资讯栏目~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
成功程序员的3个标准
同样是程序员,甚至同样的工作环境,为什么会在工作几年之后产生那么大的变化呢?有朋友告诉小编是因为二八理论的问题,一个人的成就在于他20%的业余时间在做什么。很有道理,不过这也仅仅是其中的一个方面。其实每一个成功的程序员基本都符合3个标准:兴趣驱动、学习习惯、思考方式。
9178
2019-08-08 10:23:20
疫情期间有哪些线下行业转线上直播?
从2020年初开始的新冠肺炎一直到现在,还仍旧处于疫情防控期间,这使得各大企业公司都受到了不小的冲击。尤其是线下经营的实体经济,面临着一场前所未有的危机和挑战。受疫情影响,消费者足不出户,一些企业公司也才开始复工。因此我们看到了许多行业开始从线上转为线上直播,以此寻求一线发展的生机。下面我们来具体了解下疫情期间有哪些线下行业转线上直播。
8575
2020-02-25 14:59:30
什么叫IT技能?
IT技能计算机知识。包括多种多样的种类。从精通程度上可以分为精通、熟练、了解等;从所学内容上,把你学过的语言、用过的工具、掌握的技术都写上,按条理分类写。
7844
2020-05-28 15:10:23
学IT需要具备什么条件?
随着IT人才在就业市场供小于求矛盾的凸显,IT行业的薪资待遇也水涨船高,其发展前景也是一片光明。因此,很多想了解,学IT需要具备什么条件?虽然,我们总说IT是一项现代社会人类必备的技能,但是确实有很多人学不好IT编程。究竟是天赋不足,还是其他什么原因?是不是学IT真的需要天才的大脑和异于常人的逻辑思维呢?下面我们一起来聊聊学IT需要具备的四大条件。
6782
2020-06-08 18:47:42
学编程你的电脑配置能满足要求吗?
工欲善其事必先利其器,做任何事有一个好的工具那么就成功一半了,IT行业不同学科所需的电脑配置要求也不尽相同,在学习前建议大家了解一下,接下来给大家科普一下。
8110
2021-11-15 12:16:41