01 Linux 简介
1. 初识 Linux
Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 UNIX 操作系统,其内核由林纳斯·本纳第克特·托瓦兹于 1991 年第一次释出,它主要受到 MINIX 和 UNIX 思想的启发,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 UNIX 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 有上百种不同的发行版,如基于社区开发的 Debian、Arch Linux,和基于商业开发的 Red Hat Enterprise Linux、SUSE、Oracle Linux 等。
2. Linux 简介
Linux 操作系统性能稳定,并且是开源的操作系统软件。它的防火墙相关的组件保证了系统的安全,且配置简单、性能高效。Linux 在很多企业网络中,追求速度和安全,它不仅仅是被网络运维人员当作服务器使用,也可以作为网络防火墙。Linux 开放源码并且没有版权,技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得 Linux 成为开发路由交换设备的理想开发平台。
3. Linux 发展史
Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet 网络。
20 世纪 80 年代,计算机硬件的性能不断提高,PC 机的市场不断扩大,UNIX、DOS、MacOS。UNIX 操作系统价格昂贵且不能在一般的 PC 机上面运行,DOS 操作系统相对来说比较简陋,且源代码被软件厂商严格保密,MacOS 是一种专门用于苹果计算机的操作系统。
因此,计算机应用领域需要更加完善、强大、价格低廉和开源的操作系统。由于供教学使用的典型操作系统很少,当时荷兰一位美国人教授 AndrewS.Tanenbaum 编写了一个操作系统,名为 MINIX,为了向学生讲述操作系统内部工作原理。
MINIX 虽然很好,但只是一个用于教学为目的的简单操作系统,它最大的好处就是公开了源代码。全球计算机领域的学生都可以通过钻研 MINIX 源代码来了解和学习 MINIX 操作系统,其中芬兰赫尔辛基大学的学生 Linus Torvalds 就是其中一个,他在吸收了 MINIX 精华的基础上,在 1991 年写出了属于自己的操作系统 Linux,并且版本为 Linux0.01,是 Linux 时代开始的标志。他利用 UNIX 的核心,去掉了那些复杂难处理的核心程序,把它改写成适用于普通计算机的操作系统放在网络上免费供其他学习者下载。
1994 年推出完整的核心 Version1.0,至此,Linux 逐渐成为功能完善、稳定的操作系统,并被广泛使用。
4. Linux 特性和优点
4.1 Linux 特性
基本思想
Linux 的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说 Linux 是基于 UNIX 的,很大程度上也是因为这两者的基本思想十分相近。
完全免费
Linux 是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了 Linux 的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让 Linux 吸收了无数程序员的精华,不断壮大。
完全兼容 POSIX1.0 标准
这使得可以在 Linux 下通过相应的模拟器运行常见的 DOS、Windows 操作系统中的软件程序。这为用户从 Windows 转到 Linux 奠定了基础。许多用户在考虑使用 Linux 时,就想到以前在 Windows 下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux 支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在计算机最主要的一个特点,Linux 可以使多个程序同时并独立地运行。
良好的界面
Linux 同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似于 Windows 图形界面的 X-Window 系统,用户可以使用鼠标对其进行操作。在 X-Window 环境中就和在 Windows 中相似,可以说是一个 Linux 版的 Windows 操作系统。
支持多种平台
Linux 可以运行在多种硬件平台上,如具有 x86、680x0、SPARC、Alpha 等处理器的平台。此外 Linux 还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001 年 1 月份发布的 Linux 2.4 版内核已经能够完全支持 Intel64 位芯片架构。同时 Linux 也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
4.2 Linux 优点
Linux 由众多微内核组成,其源代码完全开源;
Linux 继承了 UNIX 的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括 TCP/IPv4、 TCP/IPv6 和链路层拓扑程序等,并且可以利用 UNIX 的网络特性开发出新的协议栈;
Linux 系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
5. Linux 发行版本
由于最初 Linux 操作系统开源免费,所有的学习者都可以将 Linux 操作系统优化和拓展,所以 Linux 操作系统发展迅猛,当前发行版非常多,这里简单介绍一下六种常见的 Linux 操作系统。
5.1 Debian
Debian 计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为 Debian。操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核(kernel)。内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。Debian 系统目前采用 Linux 内核或者 FreeBSD 内核。
然而,让 Debian 支持其他内核的工作也正在进行,最主要的就是 Hurd。Hurd 是一组在微内核(例如 Mach)上运行的、提供各种不同功能的守护进程。Hurd 是由 GNU 工程所设计的自由软件。官方所创建的这个操作系统中的大部分基本工具来自于 GNU 工程;因此我们把它们命名为 GNU/Linux、GNU/kFreeBSD 和 GNU/Hurd。
这些工具同样都是自由的,当然,人们真正需要的是应用软件,也就是帮助他们完成工作的程序:从文档编辑,到电子商务,到游戏娱乐,到软件开发。Debian 带来了超过 51000 个软件包(为了能在您的机器上轻松地安装,这些软件包都已经被编译包装为一种方便的格式),一个软件包管理器(APT),以及其他帮助您在上千台计算机上管理数千个软件包的工具,过程就如安装一个应用程序那么简单。而这些全都是自由软件。这有点像一个高塔:在最底层的是内核,在内核上面的是所有的基本工具,然后是所有您在计算机上运行的软件。
最后,在这个高塔顶端的就是 Debian 把每件事情谨慎地组织和配合在一起,使得它们能够在一起和谐地运作。
5.2 RedHat
红帽在 2014 年 6 月发布了最新旗舰版企业操作系统,红帽企业 Linux 7。基于红帽企业 Linux 7 操作系统,企业可整合裸机服务器、 虚拟机、基础设施即服务(IaaS)和平台即服务(PaaS),以构建一个强大稳健的数据中心环境,满足不断变化的业务需求。红帽卫星是一个综合性解决方案,它通过配置软件分发、补丁和配置管理,以及物理、虚拟和云环境的订阅管理为红帽系统提供完整的生命周期管理,为管理构建、部署、运行和淘汰系统所需的工具提供了单独的管理控制台和方法论。
5.3 CentOs
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同,在于 CentOS 完全开源。
5.4 Slackware
Slackware Linux 是由 Patrick Volkerding 开发的 GNU/Linux 发行版。与很多其他的发行版不同,它坚持 KISS(Keep It Simple Stupid) 原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 的很多特性体现出了 KISS 原则,最为有名的例子就是不依赖图形界面的文本化系统配置,传统的服务管理方式和不解决依赖的包管理。
5.6 Ubuntu
Ubuntu 是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的 “ubuntu” 一词,意思是 “人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观。Ubuntu 基于 Debian 发行版和 Gnome 桌面环境,而从 11.04 版起,Ubuntu 发行版放弃了 Gnome 桌面环境,改为 Unity。从前人们认为 Linux 的难以安装、难以使用,在 Ubuntu 出现后这些都成为了历史。Ubuntu 也拥有庞大的社区力量,用户可以方便地从社区获得帮助。
Tips:本套教程演示学习使用的是 CentOs 操作系统,也有部分小节使用其他的操作系统。
6. 为什么要学习 Linux?
Linux 操作系统在服务器、云计算、大数据、嵌入式等等领域发展日益增大,几乎所有的开发、运维工程师必须都要使用和接触 Linux 操作系统,学习 Linux 操作系统基础教程将会帮助你很好的管理 Linux 服务器、项目部署、服务搭建,为你学习 Linux 高级功能打下基础。
7. 本课程的大致规划
本教程将会介绍 Linux 操作系统安装和配置、基本的命令使用、文件和目录管理、磁盘管理、权限管理等等,学完本课程,您将会对 Linux 的基本操作有了一定的理解和认识,并且能像操作 Windows 一样去操作 Linux,会为你学习更加高级的 Linux 知识打下坚实的基础。
8. 本课程的学习基础
- 对计算机网络有基本的认识。
- 会在指定的网址上下载软件包。