shell script基础(1)

一、linux系统结构

在这里插入图片描述
由图可以看出内核与硬件的关系是非常密切的,可以说硬件的正常工作都是需要依靠kernel(内核)来完成的。

1.内核(kernel)的主要功能

1)系统内存管理: 内核在控制内存时是使用到硬盘的一部分空间,把硬盘的这部分空间作为交换空间,这样使用时的内存会比原先内存多。这两部分组成的内存称为虚拟内存,每个进程都不可以访问正在使用的进程,内核有自己的内存空间,为了安全任何人不可以使用内核正在使用的这块空间。

2)进程管理: 当应用程序启动时,内核会在虚拟内存中为该启动应用程序的进程分配一块空间,使该应用程序可以在这块内存空间中存储管理自己的数据。

3)硬件管理: 系统内核要将各种指令”翻译器“翻译成硬件可以识别的各种指令,这个为内核服务的“翻译器”就是各种硬件的驱动程序。

4)文件系统管理: 在UNIX系统中,一切的设备目录全部都是文件,只是有不同的文件系统,例如一块硬盘可以格式化为ext4等,而内核需要识别这些文件系统和文件标识符来进行判断文件种类,并进行相应的操作。

5)TCP/IP协议栈: 这部分TCP/IP协议栈负责的是整个主机的网络部分,工作包括提供各种网络协议,并提供建立连接的进程套接字(IP:PORT)文件,为进程分配端口,然后进行通信。

2.shell

shell的功能:指挥内核,让内核完成我们需要的硬件任务,因为shell也是应用程序的一种所以在最外层,也称为壳程序。狭义的壳程序就是指命令行方面的软件,广义的壳程序则包括图形用户界面的软件,因为图形界面也可以调用内核完成一系列操作。

shell的种类:
[root@localhost ~] cat /etc/shells
/bin/sh					#已经被bashshell所取代,是Steven Bourne发明的
/bin/bash				#bash是取代sh的shell,是sh的增强版,也是根据GNU的架构下发展出来的
/sbin/nologin			#不允许登录的shell
/usr/bin/sh				#普通用户使用的
/usr/bin/bash			#普通用户使用的
/usr/sbin/nologin		#普通用户使用的
/bin/tcsh				#是Csh的增强版,提供了更多的功能
/bin/csh				#这个shell的语法类似于C语言所以被称为Csh	

shell script(脚本):shell脚本其实就是利用shell的功能所写的一个程序。这个程序是纯文本文件,利用vim打开的文件,然后将一些shell内部命令或者外部命令整合到一起,搭配重定向、正则表达式、管道命令再搭配一些流程控制指令(if)等从而达到我们想处理的效果,也就是说shell script是一种模块化的语言,只需要拼凑其他指令即可,这就是shell script。

3.外层应用程序

外层应用程序是我们通过yum或rpm等其他安装方式安装的我们用户使用方便的应用程序,应用程序的运行是通过shell编译器将应用程序需要的指令翻译成内核可以看懂的指令,然后在进行控制硬件工作,而比如java、PHP等运行环境与shell编译器的作用一样都是将相应的应用程序的工作指令翻译成内核可以看懂的语言。

原创文章 20 获赞 7 访问量 704

猜你喜欢

转载自blog.csdn.net/adsedfewf/article/details/105840853