Linux是一套免费使用操作系统,是一个基于多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间),是由芬兰人Linus Benedict Torvalds(李纳斯.托沃兹,如图1-1所示)创造的。Linux存在着许多不同的Linux发行版本,经典的发行版本有CentOS、Red Hat红帽子、Debian、Ubuntu等,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核。
基本思想
Linux的基本思想有两点:第一,一切都是文件。第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
Linux操作系统,也即是由Linux内核与各种常用软件的集合产品,全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和目标人群,所以绝不能一概而论谁是第一,谁是第二。
1.RHEL红帽
Red hat,应该称为Redhat系列,Redhat是国内使用人群最多的Linux版本,以至于有的人将Redhat等同于Linux,而有些老手更是只用这一个版本的Linux。所以有什么不明白的地方,很容易找到人来问,而且网上的Linux教程基本都是以Redhat为例来讲解。
2.CentOS
社区企业操作系统(Community Enterprise Operating System,Centos),来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
CentOS 是RHEL源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信认。
Centos根据RHEL的源代码进行二次编译,并去掉RHEL相关的图标等具有商业版权的信息后形成与RHEL版本相对应的 CentOS发行版。虽然 CentOS是根据RHEL源代码编译而成的,但 CentoS与RHEL仍有许多不同之处:
RHEL中包含了红帽子自行开发的闭源软件(如红帽集群套件等),这些软件并未开放源代码,因此也就未包含在 CentoS发行版中。
CentoS发行版通常会修改RHEL中存在的一些bug,并提供了一个yum源以便用户
与RHEL提供商业技术支持不同, Centos并不提供任何形式的技术支持,用户遇到的问题需要自行解决,因此 CentOS对技术人员的要求更高。
RHEL与 CentOS还有许多不同之处,此处不一一列举,感兴趣的读者可以参考相关资料了解。值得注意的是2014年初, CentOS与 Red Hat同时宣布, CentoS将加入 Red Hat,共同打造 CentOS,业界普遍希望此举能让 CentOS操作系统更加强大。
虽然 CentOS的技术门槛更高,但其稳定、安全、高效等特点吸引了一大批经验丰富的IT管理人员加入,从近些年来的使用情况来看,其发展非常迅猛。许多IT企业都在使用CentOS,其中不乏像淘宝、网易等IT巨头。
3.Debian
应该称为Debian 系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。提供了接近十万种不同的开源软件支持,在国外用于很高的认可度和使用率。对于各类内核架构支持性良好,稳定性、安全性强更有免费的技术支持。
4.Ubuntu
Ubuntu是一款基于Debian派生的操作系统(严格来说不能算一个独立的发行版本),对新款硬件具有极强的兼容能力。 特点是界面非常友好,容易上手,对硬件支持非常全面,是最适合做桌面系统的Linux发行版本,同时Ubuntu也可用于服务器领域。
Ubuntu的目标在于为一般用户提供一个最新的,同时又相对稳定的主要自由软件构建而成的操作系统。Ubuntu具有强大的社区力量,用户可以方便地从社区获取帮助。
Linux系统一般由以下几个主要部分组成:硬件(Computer Resources)、内核(Kernel)、Shell、文件系统(File System)和应用程序。内核,Shell和文件系统一起构成基本的操作系统结构,用户可以运行程序,管理文件和使用系统。层次结构如下图:
Linux内核
下面我们先大概介绍一下Linux内核(Kernel)。Linux内核是操作系统的核心,具有很多基本功能,它负责管理系统的进程,内存,设备驱动程序,文件和网络系统,决定系统的性能和稳定性。Linux内核由以下及部门组成:内存管理器,进程管理器,设备驱动程序,虚拟文件系统和网络管理等。
内存管理器:内存管理器主要提供对内存资源的访问控制。Linux系统会在硬件物理内存和进程使用的内存之间建立一种映射关系。这种映射是以进程为单位,因而不同的进程可以使用相同的虚拟内存,而这些相同的虚拟内存,可以映射到不同的物理内存上。
进程管理器:进程实际上是某特定应用程序的一个运行实体。在linux系统中,能够同时运行多个进程,linux通过在短时间间隔内轮流运行这些进程而实现"多任务"。其中短时间间隔成为"时间片",让进程轮流运行的方法称为"进程调度",完成调度的程序称为"调度程序"。进程调度主要提供对CPU的访问控制,在计算机中,CPU资源是有限的,而众多的应用程序都要使用CPU资源,因此需要"进程调度子系统"对CPU进行调度管理。进程管理的重点是创建和停止进程,并控制它们之间的通信。
设备驱动程序:设备驱动程序是Linux内核的主要部门。设备驱动程序实际控制操作系统和硬件设备之间的交互,并且提供一组操作系统可以理解的抽象接口,完成和操作系统之间的交互,与硬件相关的具体操作细节也由设备驱动程序完成。
虚拟文件系统:隐藏各种文件系统的具体细节,为文件操作提供统一的接口。
网络管理:网络管理在Linux内核中主要负责管理各种网络设备,并实现各种网络协议栈,最终实现通过网络连接其他系统的功能。
Shell的英文含义是“壳”。它是相对于Linux内核来说的,因为它是建立在内核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。Linux中的Shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息。
这样,在Linux系统中,就出现了两种Shell表现形式,一种是在无图形界面下的终端运行环境下的Shell(ctrl+alt+f2,ctrl+alt+f1),另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为Shell。
Shell有两种执行指令的方式,第一种方法是用户事先编写一个sh脚本文件,内含Shell脚本,而后使用Shell程序执行该脚本,这种方式,我们习惯称为Shell编程。第二种形式,则是用户直接在Shell界面上执行Shell命令,由于Shell界面的关系,大家都习惯一行行的书写,很少写出成套的程序来一起执行,所以也称命令行。
总结一下,Shell可以说只是为用户与机器之间搭建成的一个桥梁,让我们能够通过Shell来对计算机进行操作和交互,从而达到让计算机为我们服务的目的。
文件系统
在LINUX系统中有一个重要的概念:一切都是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。反映在Linux的文件类型上就是:普通文件、目录文件(也就是文件夹)、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等等。而这些种类繁多的文件被Linux使用目录树进行管理,所谓的目录树就是以根目录(/)为主,向下呈现分支状的一种文件结构。
由于Linux开放源代码,降低了对封闭源代码软件潜在安全性的忧虑,这使得Linux操作系统拥有广泛的应用领域。目前,Linux的应用领域主要包括以下几个方面。
1. 桌面应用领域
目前,Windows操作系统在桌面应用中一直占据绝对的优势,但是随着Linux操作系统在图形用户界面和桌面应用软件方面的发展,Linux在桌面应用方面也得到了显著的提高,越来越多的桌面用户转而使用Linux。事实也证明,Linux已经能够满足用户办公,娱乐和信息交流的基本需求。不过,Linux在桌面应用市场上的占有率不高。如今新版本的Linux系统特别在桌面应用方面进行了改进,达到了更高的水平,完全可以作为一种集办公应用,多媒体应用,网络应用等多方面功能于一体的图形界面操作系统。
2. 高端服务器领域
Linux在服务器领域扮演者领军者角色,这在很大程度上得益于它具有稳定性,安全性,开放源代码,总体拥有成本较低等优点。根据调查,Linux操作系统在服务器市场上占有率已经超过50%。由于Linux可以提供企业网络环境所需的各种网络服务,加上Linux服务器可以提供虚拟专用网络(VPN)或充当路由器与网关,因此在不同操作系统互相竞争的情况下,企业只需要掌握Linux技术并配合系统整合与网络等技术,便能够享有低成本,高可靠性的网络环境。
3. 嵌入式应用领域
在通常情况下,嵌入式及信息家电的操作系统支持所有的运算功能,但是需要根据实际应用对其内核进行定制和裁剪,以便为专用的硬件提供驱动程序,并在此基础上开发应用。目前,能够支持嵌入式的常见操作系统有Palm OS,嵌入式Linux,Android和Windows CE等。虽然Linux在嵌入式领域刚刚起步,但是Linux的特性正好符合产品的操作系统,稳定,实时和多任务等需求,而且Linux开放源代码,不必支付许可证费用。
4. 文件服务器系统
网络文件系统是由SUN公司制定的一种文件服务标准,它能实现基于Linux/UNIX的网络文件共享服务。应用Linux的NFS服务,可以很好地解决企业的Linux/unix环境文件共享问题。
Linux提供了安全高效的Windows文件服务器系统-Samba,可以将Windows和Linux有效的整合到一起。Samba基于SMB协议,可提供不同计算机之间的打印共享,文件共享,域管理等服务。
5. 企业门户网站
所谓企业门户网站,就是为企业提供全面信息咨询和服务的行业性网站。在Linux下组建企业的门户网站,可以选择的方案很多,如著名的LAMP方案(Linux+Apache+MySQL+PHP/Python/Perl),LAMP网站架构是目前国际流行的WEB框架,其组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采用此架构,与JAVA架构相比,LAMP具有web资源丰富,轻量,快速开发等特点。
6. 数据备份
对于企业来说,数据就是它的财产,因此数据备份的重要性不言而喻。
Linux是非常安全的操作系统。在Linux最新版本中,广泛采用日志文件系统, 如EXT3。它可以有效降低服务器在突然断电,死机等情况下,对数据可能造成的损失。
在Linux下,还有许多高效率的数据备份工作。如tar,cpio还原备份和dump转储。同时,Linux还有大量的第三方软件包(包括自有软件和商业软件)可以提供数据备份的功能。
----------------------------------------------------------------------------------------
安装VMware和Linux系统