老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

shell是什么?如何进行连接的?老男孩Linux学习

老男孩IT教育

行业新闻

2021年7月16日 17:41

知道Linux的都或多或少听过shell吧,也就是shell脚本,有句话是这么说的,不打无准备的仗,我们在学习前要对它有一定的了解,本篇为大家简单介绍下Linux中的shell是什么,帮助大家有所了解,请看下文:

       知道Linux的都或多或少听过shell吧,也就是shell脚本,有句话是这么说的,不打无准备的仗,我们在学习前要对它有一定的了解,本篇为大家简单介绍下Linux中的shell是什么,帮助大家有所了解,请看下文:

       什么是shell?

       shell其实可以说是命令解释器、也可以说是应用程序,它将用户和Linux内核连接起来,从而可以让用户更加高效、安全地使用Linux内核,这就是它的本质。

Linux

       那shell是如何连接用户和Linux内核的?

       当我们输入命令时,shell可以接收到,并对输入的命令做一定处理,处理完毕后再将结果反馈给用户,但我们在使用shell时,并没有接触到内核,也没有看到shell是如何将我和内核连接起来的,这是什么操作?

       其实shell本身的功能是很薄弱的,它的输入输出、文件管理、进程管理都需要依靠内核,当我们输入一个命令,shell执行时,大部分情况下shell会调用内核暴露出的接口,也就是在使用内核,只不过这个是幕后操作,我们是看不到的。

       接口其实就是一个个函数,使用内核也就是在调用这些函数,除了函数,没有其他办法使用内核。

       举个简单的栗子,我们输入ls命令时,是不是可以查看文件的路径,那有没有想过ls放在磁盘哪个位置了呢?或者分成了几个数据块、从哪里开始的、从哪里结束的,这些其实shell都不知道,它只能调用内核中的open()和read()函数,告诉内核我要执行的操作,去请求内核的帮助,随后内核就会乖乖听话去读取文件了。

       shell其实也是一门脚本语言,任何代码都是要被翻译成二进制的形式才可以在计算机中运行的,如C/C++、GO等,必须在程序运行前将所有代码都翻译成二进制形式,也就是生成可执行文件,用户拿到的是最终生成的可执行文件,看不到源码。

       想要学习Linux技术的更多内容?欢迎选择老男孩教育,我们在北京、深圳均设有分校,已开设学科近10门,覆盖技术从业者1~8年的职业生涯需求,我们致力于成为线上、线下并驾齐驱,能够为更多有志青年提供优质、前沿IT技术学习资源的平台。

       推荐阅读:

       Python中基础运算符是如何运用的?Python学习

       网络安全有哪些练习的地方?老男孩网络安全

       如何入门学习Python爬虫?老男孩Python课程怎么样?

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。