1、Linux操作系统概述01榆林职业技术学院 杨浩与应用实践1学习目标1.了解Linux操作系统的发展简史。2.了解Linux的内核版本和主要的发行版本。3.了解Linux系统源代码开放、跨平台硬件支持、丰富的软件支持特性、健壮的多用户多任务支持特性、安全性、稳定性以及完善的网络功能等特性。4.熟练掌握Linux文件系统结构、常用目录及其作用以及Linux系统的文件类型。本章学习目标2 Linux是在Unix基础上发展起来的一个可以免费使用、自由传播的操作系统,它继承了Unix以网络为核心的设计思想,是一个性能稳定、安全可靠、应用广泛的多用户、多任务、多线程和多CPU支持的网络操作系统。它支持3
2、2位和64位硬件,主要运行于服务器上。Linux存在着许多不同的版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。通常所说的Linux,实际上指的Linux内核(Linux kernel),负责管理系统硬件,并为上层应用提供服务。但人们已经习惯了将基于Linux内核、并且使用GNU各种工具和数据库的操作系统称作Linux操作系统。概 述GNU:也是个操作系统,汉语名是革奴计划,是GNUs Not Unix!的递归缩写,因为GNU的设计类似Unix。3GNU计划已经开发出许多工具软件,虽然可用性
3、不高,但GNU奠定了Linux的用户基础和开发环境4月,林纳斯托瓦兹开始酝酿并着手编制自己的操作系统,10月5日,林纳斯托瓦兹正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)大约100余名程序员参与Linux内核的编写Linux 2.6内核发布Linux 2.0内核发布,此内核有大约40万行代码,同时可以支持多个处理器,此时的Linux 已经进入了实用阶段,全球用户数达到350多万。1.1 Linux操作系统的发展过程Linux 1.0正式发布,代码量约为17万行鲍勃杨(Bob Young)创办了RedHat(小红帽),集成了
4、400多个源代码开放的程序模块,开发出了RedHat Linux,称为Linux发行版Linux 2.4内核发布成功实现了Linux操作系统支持256个Itanium 2处理器。发展非常迅速,每8-10周诞生一个新的Linux内核版本目前已发展至6.x、7.0等41.2 Linux的版本Linux的版本有内核版本和发行版本之分。1.对内核版面的解释 内核版本是Linux内核的版本号,Linux内核是系统的心脏,是运行程序和管理系统硬件的核心程序,它为应用程序访问裸机提供了接口。例如,程序在访问设备时,本身不需要了解底层设备的技术细节。内核版本不能被用户直接使用。内核的开发和规范一直是由Linu
5、s(林纳斯)领导的开发小组控制着,开发小组每隔一段时间公布新的版本或其修订版,从1991年10月Linus向世界公开发布内核0.0.2版本以来,到目前最新的内核6.x版本,Linux的功能越来越强大。1.2.1 Linux内核版本2.Linux内核版本号的命名规则 版本号的格式通常为“主版本号.次版本号.修正号”。主版本号和次版本号标志着重要的功能变动,修正号表示较小的功能变更。以Linux4.14.14版本为例,该内核的主版本号为4,次版本号为14,修正号为14。其中次版本号还有特定的意义:如果是偶数数字,就表示该内核是一个可以放心使用的稳定版;如果是奇数数字,则表示该内核是一个测试版本。如
6、2.5.74表示一个测试版的内核,2.6.22表示一个稳定版的内核。我们可以到Linux内核官方网站http:/www.kernel.org/下载最新的内核代码。51.2.2 Linux发行版本 仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核程序、源代码及相关的应用程序组织在一起,构成一个个完整的操作系统,让一般用户可以简便地安装和使用Linux,这就是所谓的发行版本(distribution),通常所说的Linux系统就是针对这些发行版本的。目前各种发行版本很多,它们的发行版本号各不相同,所使用的内核版本号也可能不同1Red Hat Linux Red Hat是最成功
7、的Linux发行版本之一,它的特点是安装和使用简单。Red Hat可以让用户很快享受到Linux的强大功能而免去繁琐的安装与设置工作。Red Hat是全球最流行的Linux。其稳定性赢得广大用户的青睐,但是需要付费。其官方网站为http:/ Debian是一个庞大的开源软件架构,运行起来极其稳定,而且具有非常友好的用户界面,非常适合于服务器的部署。3Gentoo 与Debian一样,Gentoo这款操作系统也包含数量众多的软件包。Gentoo并非以预编译的形式出现,而是每次需要针对每个系统进行编译。它被认为是最佳的Linux学习对象,有助于深入解Linux的内部运作原理。61.2.2 Linu
8、x发行版本4Ubuntu Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu在服务器、云计算、甚至一些移动设备上很常见。它使用apt软件管理工具来安装和更新软件。它也是最容易使用的发行版之一。5红帽企业级Linux 红帽子是第一款面向商业市场的企业级的Linux发行版,所以不是免费的。不过,可以下载用于教学用途的测试版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽子版本提供了非常多的稳定版应用程序,它把太多旧程序包打包起来,使得其支持成本确实相当高。不过,如果安全是关注的首要问题,那么红帽企业级Linux的确是款完美的发行版。它使用YUM
9、程序包管理器。6CentOS CentOS也是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。在界面及操作方面与红帽子如出一辙,如果不想花钱使用红帽子,可以通过免费使用CentOS来领略红帽企业级Linux。它同样使用YUM程序包管理器。CentOS在企业中的应用也非常广泛。还有其它很多发行版本:可以参阅https:/ ls/82146049。71.3 Linux系统的主要特征 Linux是应用很广泛的主流操作系统,主要用于服务器领域,相对于Windows操作系统,Linux系统具有如下主要特征:1234567开放源代码丰富的软件支持特性可靠的安全特性完善的网
10、络功能良好的跨平台硬件支持特性健壮的多用户多任务支持特性良好的稳定性81.4 Linux系统的应用领域 Linux以其独特优势使其在服务器领域和嵌入式系统等重要领域得到了广泛的应用。1.4.1 服务器领域的应用 小知识:(服务器操作系统查询网站),可以通过该服务器查询任何服务器所使用的OS(操作系统)、IP地址、Web服务器、所在地等信息。020301服务器金融、商业军事国家机密腾讯、淘宝、微软安全、稳定、健壮91.4 Linux系统的应用领域 Linux以其独特优势使其在服务器领域和嵌入式系统等重要领域得到了广泛的应用。1.4.2 嵌入式系统中的应用航空系统智能卡系统智能驾驶胸痛家用电器,如
11、机顶盒平板手机嵌入式系统u Android(安卓)操作系统和IOS操作系统是应用非常广泛的两种手机操作系统,其底层都是Linux系统。u 在云计算平台搭建、大数据分析平台搭建等新兴IT领域具有非常广阔的应用前景Linux短小精悍,对系统硬件要求很低101.5 Linux文件系统结构 Linux文件系统也是按树形结构设计的,但它不像Windows系统那样,将一块物理硬盘逻辑划分为C盘、D盘、E盘等几个对等的逻辑盘,再在每个逻辑盘建立一个根目录。在Linux中,只有一个根目录,其它所有目录都在根目录之下,根目录用“/”表示。Linux文件结构如图1-1所示:/(根目录)/bin/boot /etc
12、 /cdrom /dev /home/lib /usr /sbin /mnt /var /root/local /share /log /lib 图 1-1 Linux文件系统结构111.5 Linux文件系统结构 系统默认在根目录下创建了一些具有固定名称的目录,这些目录往往也具有专门的用途,当然用户也可以创建自己的目录。表1-1是Linux系统中的主要目录文件的简要说明:表 1-1 Linux文件系统中的主要目录文件序号目录文件说明1/(根目录)/(根目录)是所有的目录、文件、设备的父目录,用户也可以在/(根目录)之下有规划地创建自己的目录。2/bin/bin目录一般存放二进制(binary
13、)可执行文件和常用命令。3/boot该目录存放Linux的内核及引导系统程序所需要的文件。4/cdrom该目录用于挂载光盘驱动器。5/dev该目录用于存放系统外部设备(device),外部设备作为文件存放在该目录下,用户可以通过设备名方便地访问外部设备,所以这个设备文件实际上是用户访问外部设备的端口。6/etc该目录是Linux系统中非常重要的目录之一,存放着系统运行、管理所需要的各种配置文件和相关子目录。7/home普通用户的家目录,当创建一个新用户时,系统会自动在该目录下创建以用户名为目录名的目录作为该用户的家目录。如当创建一个user用户时,会自动创建/home/user目录,作为use
14、r用户的家目录。8/lib该目录用来存放系统动态链接共享库(library),几乎所有的程序运行都会用到该目录下的共享库,如果共享库丢失,系统的某些程序就不能正常运行。121.5 Linux文件系统结构 续表序号目录文件说明9/lost+found在ext2(第二代文件扩展系统,second extended filesystem的缩写)或ext3文件系统中,该目录存放当系统意外崩溃或机器意外关机而产生的一些文件碎片。当系统启动的过程中fsck(文件系统校验,file system check的缩写)工具会检查这里,并修复已经损坏的文件系统。另外,当系统出现故障时,有很多的文件也被移到这个目录
15、中,当故障恢复后,可以用手工方式进行修复,或将文件移到原来的目录。10/mnt该目录一般用作储存设备的挂载目录。如光盘、U盘等。11/media 可以使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。12/opt该目录存放用户安装的软件,默认是空的。一般安装软件的时候,用户指定安装到这个目录下,便于查找和管理13/proc文件系统提供了在运行时访问内核数据结构、改变内核设置的机制。习惯把/proc目录称为伪文件系统,其存放的信息量非常大。它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的
16、信息,并可以改变内核的某些参数。由于系统的信息是动态改变的(如进程),所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。14/root具有Linux超级权限的root用户的家目录15/sbin该目录是用来存放系统管理员root的系统管理程序的,只有超级权限用户root可以可执行该目录下存放的命令,而普通用户无权限执行。与/sbin目录类似,/usr/sbin、/usr/X11R6/sbin和/usr/local/sbin目录下的命令也只有root有权限执行。131.5 Linux文件系统结构 续表序号目录文件说明16/selinux对SElinux(S
17、ecurity Enhanced Linux)的一些配置文件目录,SElinux可以让linux更加安全。17/srvSrv(service),有服务启动后,用来存放相关服务的数据,例如,www服务启动读取的网页数据就可以放在/srv/www中。18/tmp临时文件目录,用来存放不同程序执行时产生的临时文件。/var/tmp目录和这个目录相似。19/usr这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具20/usr/local该目录主要存放那些手动安装的软件,该目录和/usr目录具有
18、相类似的目录结构。21/usr/share该目录用来存放可共享的系统资源,比如/usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man是帮助文件目录。22/var该目录的内容是经常变化(vary)的。比如/var/log 目录存放系统日志的目录,/var/www目录存放Apache服务器站点;/var/lib 用来存放一些库文件,如MySQL数据库等。141.6 Linux文件类型 普通文件(纯文本文件、二进制文件、数据文件)目录文件【directory】链接文件【link】(硬链接文件和软链接文件)设备文件【device】(块设备文件和字符设备
19、文件)套接字文件【socket】管道文件【pipe】151.6 Linux文件类型 1.普通文件(Regular file)普通文件就是一般意义上的文件。再用ls命令显示文件时用“-”来表示普通文件。如:-rw-r-r-.1 root root 0 May 8 10:23.autofsck 行首“-”符号说明该文件是普通文件,文件名“.autofsck”以“.”开头说明是隐藏文件。u 纯文本文件(ASCII):纯文本文件是Linux文件系统中最多的一种文件类型,系统中的所有配置文件几乎都属于纯文本文件类型。纯文本文件可以通过cat命令查看其内容。例如,执行cat/tec/passwd命令可以查
20、看用户配置文件passwd的相关信息。u 二进制(binary)文件:二进制文件是Linux中的可执行文件格式。举例来说,命令cat、vi和pwd等就是可执行二进制文件。u 数据(data)格式的文件:具有统一格式的文件被称为数据文件(data file)。比如在用户登录Linux系统时,会自动将登录数据记录在/var/log/wtmp文件中,该文件内容可以通过last命令读取,但是不能使用cat命令,因为wtmp文件是有特定格式的,用cat命令读取会产生乱码。普通文件有如下三种类型:161.6 Linux文件类型 2.目录文件(directory)目录文件就是普通意义上说的目录,相当于Win
21、dow系统中的文件夹。如:drwxr-xr-x.2 root root 4096 Apr 26 17:53 etc 行首“d”符号说明该文件是目录文件,说明etc是一个目录。3.链接文件(Link)1.软链接文件(soft link)2.硬链接文件(hard link)链接文件硬链接文件类似于源文件的一个拷贝,与拷贝不同的是,硬链接文件与源文件可以同步修改,硬链接文件与源文件具有相同的Inode号,其文件类型用“-”表示。软链接文件类似Windows系统中的快捷方式,是一个指向实际文件的符号,其文件类型用“l”表示用ln-s命令创建链接文件171.6 Linux文件类型 4.设备文件(devi
22、ce)Linux系统以文件为单位来管理系统资源,所有的系统设备都属于文件,设备文件就是与系统外设及存储设备等相关的一类文件,这类文件通常都存放在/dev目录下。设备文件通常又可分为两种:块设备文件(block device)和字符设备文件(character device)。u 块设备文件(Block Device):系统中能够按块随机访问的设备被称作块设备,最常见的块设备有硬盘、软盘、CD-ROM、闪存等。块设备文件类型用“b”表示,块设备文件一般存储在/dev目录下,例如第一块SCSI硬盘的第一个分区的设备文件名为/dev/sda1。执行 ls l/dev/命令可以得到如下sda1设备文件
23、信息:brw-rw-.1 root disk 8,1 May 8 10:23 sda1 行首字符“b”表示块设备文件,设备文件名“sda1”表示第一块SCSI硬盘的第一个分区。u 字符设备文件(Character Device):按照字符流的方式被有序访问的设备就是字符设备,即串行端口的接口设备,例如键盘、鼠标、控制台、LED设备和其它串口设备等都是字符设备。字符设备文件类型用“c”表示。181.6 Linux文件类型 5.套接字文件(sockets)这类文件通常用于进程间的通讯。服务器可以启动一个程序来监听客户端的请求,客户端就可以通过套接字来进行数据通信。套接字文件类型用“s”表示。例如/dev/log就是套接字文件:srw-rw-rw-.1 root root 0 May 8 10:23/dev/log 6.管道文件(pipe)管道文件是一种特殊的文件类型,用于解决多个程序同时存取一个文件时所产生的错误。管道文件的文件属性用“p”表示。1920