Linux中,如何更好的认识Shell?

在Linux当中,Shell操作是一种司空见惯的操作形式;我们每天都在使用它,都在与他相处(对于Linux使用者)。那么,我们是否清楚,到底什么是Shell操作呢?今天,根据自身的情况,来简单谈一下对Shell的理解哈!

每天坚持学习

在这里插入图片描述
根据国外某项数据显示:在过去的两个世纪里,发达国家的普通人在正式场合学习的时间越来越多。如果其他人学得更多,那么你必须和他们学得一样多才能保证自己不掉队如果你已经工作了一段时间,你可能意识不到自己落后了多少。但如果你换一个领域,你会很快意识到自己的技能已经过时了

一.为什么Shell脚本用的比较多?

由于Shell脚本,很适合处理纯文本类型的数据。
在Linux中,几乎所有的配置文件,日志文件(MYSQL,NFS,Httpd,Ngix等)和绝大多数的启动文件,也都是纯文本类型的文件。

二.如何较好认识Shell?

(1)在早期认识中,图形界面和命令行要达到的目的是一样的,都是让用户来控制计算机
(2)然而,随着学习的深入,我们知道:真正能够控制计算机硬件(内存,显示器,CPU等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁
(3)那么,为什么用户不能直接接触内核呢?
由于复杂,安全,繁琐等一系列的原因,用户是不能直接接触内核(当然,这也是完全没有必要的)。因此,需要考虑开发一个程序,让用户直接使用这个程序(这就是所说的shell)。这个程序的作用就是接受用户的操作(点击图标,输入命令等),并且可以进行简单的处理。然后将其传递给内核(Kernel)。这样的话,用户就可以间接的来使用操作系统内核啦!
基于以上情况:Shell扮演的角色,可以认为是一层“代理"(在用户与内核之间);这样既可以简化操作,又可以保障内核的安全性;是一举两得的好事情。

三.正式引入Shell概念

什么是“Shell”?(进行解答)

在用户界面和命令行之间的这层“代理”,在Linux情况下,这个“代理”角色的命令行程序,叫做Shell。

四.Shell的本质

Shell作为一个应用程序,它连接了linux内核和用户,让用户可以更加安全,高效,低成本的使用Linux内核,这个就是Shell的本质。
拓展:
绝对不能将Shell当做内核的一部分,它就是站在内核的基础上,编写的一个应用程序而已。它与我们常见的桌面软件(列如QQ)是一个性质的!
但,Shell也有一个比较特殊的地方

开机立即启动,并且呈现在用户面前;用户可通过Shell来使用Linux;当不启动Shell的话,用户却没办法使用Linux。

五.Shell到底是如何连接内核与用户?

对于大多数人而言,认为Shell能够接受用户输入的一些命令,并可以对这些命令运行处理,返回最终结果给用户。这都是最开始对Shell的认知。

其实,Shell作为一个应用程序;它的功能本身不是很强大。列如:进程管理等不同操作,都要去依赖内核。
这个所谓依赖内核,其实就是调用内核暴露出来的不同接口。只是在Shell使用内核的过程中,被其隐藏起来了!给人造成的错觉而已(但,它一直是在后台默默运行的哟)。
拓展:
在linux当中,接口就是一个个的函数,使用内核就是调用这些函数啦!

六.为什么说Shell很强大?

所谓Shell强大,并不是说Shell本身功能异常丰富;是说,Shell擅长组织和使用其他的程序。
以下图完全可以展示Shell的领导能力:(请注意虚线部分)
在这里插入图片描述

总结

简单的Shell,其实有着很丰富的应用性
认知Shell,较好的理解Shell,在整个Linux中所扮演的角色,在实际开发中有很重要的意义!
除此之外,Shell作为脚本语言,有着良好的灵活性,跨平台性能,及其部署容易等等好处!

各位童鞋,有任何建议或问题!可以私信或留言给我哈!(一起交流,成长哈)。不足之处,可以提出您的思考!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值