大家好,我是TT。
这篇我们来学习下linux里边的Shell。它的在linux里面是非常有用的一个功能,这个功能叫做shell脚本编程。
大家不要因为这个编程就被吓到,这个编程其实没有你想象的那么难。那在shell脚本编程当中其实它们的一些基本元素就是linux命令,把组合在一起就构成一个shell脚本。
在今天分享shell脚本篇前还要为大家去补充一些脚本的必备功能,比如我们去编写shell脚本的时候需要一个叫做变量这样一个概念,去做一些数据的临时的存储,那这里边去执行命令的时候不一定是顺序执行的,我会为大家讲一下关于判断和分支,以及在shell脚本中怎么去构建这种循环执行的这么一个程序。
之后我还会为大家去介绍下shell脚本中非常有意思的东西,就是shell脚本中的特殊字符。
好,接下来我们进入主题,认识shell,它是什么东西呢?这个shell脚本除了我们自己去编写系统有没有呢?其实系统当中也有很多的这个shell脚本,这些脚本在我们系统启动的过程中它就已经涉及到大量的脚本运行了。
这里我也会为大家介绍下linux启动的过程,在这一过程中我们涉及到哪些脚本。那我们说了除了系统脚本的话,我要想完成一些自己的任务,那我们就需要自己去编写一个自己的shell脚本。那自己编写脚本的话应该包括哪几部分?我在这也会为大家去介绍,以及自己编写的脚本该去如何进行执行。
最后呢,我还会大家去介绍一下关于内部命令和外部命令的区别。
好。首先我们来看下什么是shell,我们把它定义为linux命令解释器。那如果用一句话概括shell这个概念,就是shell会把所有用户执行的命令翻译给我们的内核,内核根据我们命令执行的一个结果,再把结果反馈给用户。
那它具体是一个什么样的过程呢?例如我们用来去解释的ls命令,知道ls命令的朋友就不要再简单的把它当做ls就只能查看一个文件,那ls它的底层一个过程是什么样的呢?当你去输入ls回车的时候,首先由shell接受用户执行的这条命令,接受完之后那么它去对命令的选项和参数进行分析,分析之后我们知道ls是查看文件的,那第一步它会交给我们的文件系统,文件系统在哪一层呢?就是在内核的这个层面。那内核就可以接收到这个命令,那根据文件系统我们会去把ls要查看的文件目录再翻译成我们对应的这个硬盘的某一个扇区。
当然SSD硬盘那是另外的一种结构,好,那这边翻译到硬件,硬件会把我们查询到的一个结果再交给内核,内核再返回给shell,那最终再返回给我们的用户。那这个shell它就是这样一个基本的功能,那我们会发现什么呢?那我们只要是把shell编写好的话,那用户其实是不用去写我们的驱动程序的,也不用去开发复杂的C语言。
那我们这边通过一个简单的命令就可以控制我们的内核,以及控制我们的操作系统做很多自己想做的事情。那这个其实就是shell解释器它的一个最主要的一个功劳,用户不用去了解底层的这些知识。
那在contOS 7中其实shell有很多种,可以通过cat/etc/shells去进行查看,还有一种我们要重点掌握的这个shell的类型,那这个类型叫做bash,这个bash和其他的这个命令解释器有什么关系呢?欢迎在评论区给我留言,beybey
0 留言