Shell学习(一)什么是shell?

1.定义

1.在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。

2.同时它又是一种程序设计语言。

  • 作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;
  • 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

2.linux中的shell

1.shell与内核的关系

linux中的shell程序的作用是接受用户的操作,然后进行简单的处理再传递给内核。既能简化用户的操作,又能保障内核的安全。

shell本身并不是内核的一部分,它只是在内核的基础上编写的一个应用程序,他和其他的迅雷,firefox并没有本质的区别,然而shell也有他的特殊性,就是开机自启动,并呈现在用户面前。

2.shell是如何连接用户与内核的?

其实shell程序本身的功能是很弱的,不如文件操作,输入输出都要依赖内核。我们运行一个命令,大部分情况下,shell都会调用内核暴露出来的借口,这就是在调用内核,只是这个过程被内核隐藏了起来,我们看不到而已。接口其实就是一个个的函数,使用内核就是调用这些函数,这就是使用内核的全部途径。

3.shell中的编程

shell也支持编程,它虽然没有java,c++,python等强大,但是也支持了基本的编程元素,例如:
if...else选择结构,case...in开关语句,for,while,until循环语句;变量,数组,字符串,注释,加减乘除,逻辑运算等基本概念;函数(包括用户自己定义的函数和内置函数)

站在这个角度,shell也是一种编程语言,他的解释器就是shell这个程序。shell主要用来开发一些实用的自动化的小工具,而不是用来开发大型软件,例如检测计算机硬件参数,搭建web运行环境,日志分析等,shell都非常合适。

4.shell是一种脚本语言

像Python,JavaScript等一样,shell也是一种解释性语言,也叫脚本语言,编写完源码之后不用编译,直接运行即可。

发布了74 篇原创文章 · 获赞 7 · 访问量 2994

猜你喜欢

转载自blog.csdn.net/qq_42806574/article/details/104143185