学习shell脚本前,先对linux的基本知识点介绍一下。
linux系统介绍linux由四个部分组成,分别是linux内核,GUN工具,图形化桌面和应用软件,其中linux系统的核心就是内核,负责计算机的硬件和软件的管理。
1.1 linux内核linux内核是系统的核心,控制着内存,程序和硬件之间的交互。linux内核主要负责四个功能,分别是内存管理,软件程序管理,硬件设备管理和文件系统管理。
1.1.1 内存管理内核管理物理内存和虚拟内存,内核通过交换空间实现虚拟内存,交换空间实际上是硬盘上的一段区域,内核会在交换空间和物理内存之间交换虚拟内存中的东西,从而会让进程以为他拥有比物理内存更大的空间。内存是由一个个页面(page)组成的,内核会把页面放进物理内存或者交换空间,内核会维护一个页表,这个页表会指明哪些页面位于物理内存,哪些页面被换到了内存上。
内核会表明哪些页面正在使用中,当某个内存页面一段时间没有被访问的时候,就会把该页面换出到交换空间,换出操作与内存是否还有可用的空间无关,及时还有可用内存,换出也可能会发生。当进程想要访问一段已经被换出的内存的页面的时候,内核会先在物理内存中换出另外一个内存页面来腾出空间,然后从交换空间换入请求的内存页面。linux启动后,内存页面的换出操作就不会停止。
1.1.2 软件程序管理软件程序就是进程,内核负责所有进程的管理。内核创建的第一个进程为init进程,这个进程会启动系统上所有其他进程。当系统启动时,它会把init进程加载到虚拟内存中,内核在启动其他进程的时候,也会在虚拟内存中分配一块区域来存储该进程的数据段和代码段。
1.1.3 硬件设备管理Linux把硬件设备当做特殊的文件,称为设备文件。设备文件分为三类,分别是字符型设备文件,块设备文件,网络设备文件。
a) 字符设备文件指的是处理数据时每次只能处理一个字符的设备。比如终端就是个字符设备
b) 块设备文件与字符设备文件类似,不过块设备文件每次能处理大块数据,比如硬盘
c) 网络设备文件指的是用数据包发送和接收数据的设备,比如网卡和特殊回环设备,回环设备允许linux系统使用常用的网络协议同自身通信,比如用tcp协议实现自己与自己通信(回环地址127.0.0.1)
linux系统为了方便管理硬件设备,为每个设备生成了一个称为节点的特殊文件,与设备的所有通信都通过设备节点完成,linux内核为每个节点分配一个唯一的数值对,这个数值对由主设备号和次设备号,功能相近的设备被划分到同样的主设备号下,主设备号用于区分主设备组下某个特定设备。
1.1.4 文件系统管理linux内核支持通过不同类型的文件系统从硬盘中读写数据,linux内核采用VFS(虚拟文件系统)作为和每个文件系统交互的接口。
1.2 GUN工具GUN是GUN's Not Unix的缩写,GUN是一套完整的Unix工具,这些工具开源的,比如shell就是个GUN工具,注意,所有linux发行版默认的shell都是bash shell。
发行版也是可以跟windows一样通过图标操作的。我们把完成的linux系统包称作发行版,大多数发行版是为了某个特性用户群定制的,比如软件开发人员,商业用户等
1.4 应用软件无
[给力]