第 1 章 Linux 快速入门

简介: Mainline 表示主线开发版本,Stable 表示稳定版本,稳定版本主要由 mainline 测试通过而发布。Longterm 表示长期支持版,会持续更新及 Bug 修复,如果长期版本被标记为 EOL(End of Life),则表示不再提供更新。

Linux 是一套免费使用和自由传播的类 UNIX 操作系统,是一个基于 POSIX 移植操

作系统接口(Portable Operating System Interface of UNIX,POSIX)和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

目前被广泛使用于企业服务器、WEB 网站平台、大数据、虚拟化、Android、超级计算机等领域,未来 Linux 将应用各行各业,例如云计算、物联网、人工智能等。

本章向读者介绍Linux 发展简介、Linux发行版特点、32 位及64 位CPU 特性及Linux内核命名规则。

1.1 为什么要学习Linux

我们为什么要学习 Linux?我们目前的处境是什么?我们想达到什么样的目标?在谈到这三个问题时,相信每个人都有自己的答案,我们来自不同的家庭,各种经历也都不一样,但最终的目标都是希望通过学习技术,提升自己的专业技术。真正做一个对社会有贡献的人。想想我们刚步入学堂的那一刻起,心里就狠狠下决心,以后不管做什么,都要有一番出息,可是 20 年、30 年过去了,我们收获了什么,得到了什么,到底是在追求什么?方向又在哪里呢?在生活中各种挫折、感情、生活以及很多零碎的事情,让我们很难静下心来学习,当我们某天突然惊醒,年少已不在。所以今天就下定决心,现在就要学习,去行动,去改变。人生最可怕的是在自以为舒适的地方待得太久,等到外界改变来的时候,已经晚了,我们不能像温水煮青蛙一样,待在温水里,没有觉察到周围事物的变化,最终被社会所淘汰,如图 1-1 所示。

图 1-1 温水煮青蛙

剩下的内容需要在网页端评论才能看噢~

1.2 Linux 操作系统简介

Linux 操作系统是基于 UNIX 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux 能运行各种工具软件、应用程序及网络协议,它支持安装在 32 位和 64 位 CPU 硬件上。

通常的讲,Linux 这个词本身只表示 Linux 内核,但是人们已经习惯用 Linux 来形容整个基于 Linux 内核的操作系统,并且是一种使用 GNU 通用公共许可证(GNU General Public License,GPL)工程各种工具和数据库的操作系统。

GNU 是“GNU is Not Unix”,UNIX 是一种广泛使用的商业操作系统,由于 GNU将要实现以 UNIX 系统的接口标准,因此 GNU 计划可以分别开发不同的操作系统部件,并且采用了部分当时已经可自由使用的软件。为了保证 GNU 软件可以自由地“使用、复制、修改和发布”,所有的 GNU 软件都在一份禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款里,我们把这个条款称之为 GNU 通用公共许可证(GNU General Public License,GPL)。1991 年的 10 月 5 日,Linux 创始人 Linus Torvalds 在 comp.os.minix 新闻组上发布消息,正式向外宣布 Linux 内核的诞生,1994 年 3 月 Linux 1.0 发布,代码量 17 万行,当时是完全按照自由免费的协议发布,随后正式采用 GPL 协议,目前 GPL 协议版本包括:GPLv1、GPLv2、GPLv3 以及未来的 GPLv4、GPLv5 等。

1.3 Linux 操作系统优点

随着 IT 产业的不断发展,Linux 操作系统应用领域越来越广泛,尤其是近年来 Linux在服务器领域飞速的发展,主要得益于 Linux 操作系统具备的如下优点:

开源、免费;系统迭代更新;系统性能稳定;安全性高;多任务,多用户;耗资源少;内核小;应用领域广泛;使用及入门容易。1.4 Linux 操作系统发行版

学习Linux操作系统,需要选择不同的发行版本,Linux 操作系统是一个大类别,Linux操作系统主流发行版本包括:Red Hat Linux、CentOS、Ubuntu、SUSE Linux、Fedora Linux 等,具体发行版本区别如下:

Red HatLinuxRed Hat Linux 是最早的 Linux 发行版本之一,同时也是最著名的 Linux 版本,Red Hat Linux 已经创造了自己的品牌,也是读者经常听到的“红帽操作系统”。Red Hat 1994年创立,目前公司全世界有 3000 多人,一直致力于开放的源代码体系,向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的 Linux 也使用最新的内核,还拥有大多数人都需要使用的主体软件包。Red Hat Linux 发行版操作系统的安装过程非常简单,图形安装过程提供简易设置服务器的全部信息,磁盘分区过程可以自动完成,还可以通过图形界面(Graphical User Interface,GUI)完成安装,即使对于 Linux 新手来说这些都非常简单。后期如果想批量安装 Red Hat Linux 系统,可以通过批量的工具来实现快速安装。

CentOS社区企业版操作系统(Community Enterprise Operating System,CentOS)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS 替代商业版的Red Hat Enterprise Linux 使用。

CentOS 于 Red Hat Linux 不同之处在于 CentOS 并不包含封闭的源代码软件,可以开源免费使用,得到运维人员、企业、程序员的青睐,CentOS 发行版操作系统是目前企业使用最多的系统之一,2016 年 12 月 12 日,CentOS7 基于 Red Hat Enterprise Linux 的 CentOS Linux 7 (1611) 系统正式对外发布。

UbuntuUbuntu 是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观。Ubuntu 基于 Debian 发行版和 GNOME 桌面环境, Ubuntu 发行版操作系统的目标在于为一般用户提供一个最新的、同时稳定的以开放自由软件构建而成的操作系统,目前 Ubuntu 具有庞大的社区力量,用户可以方便地从社区获得帮助。

SUSELinuxSUSE(发音 /su s/),SUSE Linux 出自德国,SuSE Linux AG 公司发行维护的 Linux 发行版,是属于此公司的注册商标 2003 年 11 月 4 日,Novell 表示将会对 SUSE提出收购。收购的工作于 2004 年 1 月完成。Novell 也向大家保证 SUSE 的开发工作仍会继续下去,Novell 更把公司内全线电脑的系统换成SUSE LINUX,并同时表示将会把 SUSE 特有而优秀的系统管理程序 – YaST2以 GPL 授权释出。

FedoraLinuxFedora 是一个知名的 Linux 发行版,是一款由全球社区爱好者构建的面向日常应用的快速、稳定、强大的操作系统。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。

Fedora 约每六个月会发布新版本,美国当地时间2015 年11 月3 日,北京时间2015年11 月4 日,Fedora Project 宣布 Fedora 23 正式对外发布,2019 年6 月发布Fedora 26 版本。

1.5 32 位与 64 位操作系统的区别

学习 Linux 操作系统之前,需要理解计算机基本的常识,计算机内部对数据的传输和储存都是使用二进制,二进制是计算技术中广泛采用的一种数制,而 Bit(比特)则表示二进制位,二进制数是用 0 和 1 两个数码来表示的数。基数为 2,进位规则是“逢二进一”,0 或者 1 分别表示一个 Bit 二进制位。

Bit 位是计算机最小单位,而字节是计算机中数据处理的基本单位,转换单位为: 1Byte=8Bit,4Byte=32Bit。随着计算机技术的发展,尤其是中央处理器(Central Processing Unit,CPU)技术的变革,CPU 的位数指的是通用寄存器(General-Purpose Registers, GPRs)的数据宽度,也就是处理器一次可以处理的数据量多少。目前主流 CPU 处理器分为 32 位 CPU 处理器和 64 位 CPU 处理器,32 位 CPU 处理器可以一次性处理 4 个字节的数据量。而 64 位处理器一次性处理 8 个字节的数据量(1Byte=8bit),64 位 CPU 处理器对计算机处理器在 RAM 里(随机存取储存器)处理信息的效率比 32 位 CPU 做了很多优化,效率更高。

X86_32 位操作系统和 X86_64 操作系统也是基于 CPU 位数的支持,具体区别如下:

32位操作系统表示 32 位 CPU 对内存寻址的能力;64位操作系统表示 64 位 CPU 对内存寻址的能力;32位的操作系统安装在 32 位 CPU 处理器和 64 位 CPU 处理器上;64位操作系统只能安装 64 位 CPU 处理器上;32位操作系统对内存寻址不能超过 4GB;64位操作系统对内存寻址可以超过 4GB,企业服务器更多安装 64 位操作系统,支持更多内存资源的利用;64位操作系统是为高性能处理需求设计,数据处理、图片处理、实时计算等领域需求;32位操作系统是为普通用户设计,普通办公、上网冲浪等需求。1.6 Linux 内核命名规则

Linux 内核是 Linux 操作系统的核心,一个完整的 Linux 发行版包括进程管理、内存管理、文件系统、系统管理、网络操作等部分。

Linux 内核官网可以下载 Linux 内核版本、现行版本,历史版本,可以了解版本与版本之间的特性。

Linux 内核版本命名在不同的时期有其不同的命名规范,其中在 2.X 版本中,X 如果为奇数表示开发版、X 如果为偶数表示稳定版,从 2.6.X 以及 3.X,内核版本命名就没有严格的约定规范。

从 Linux 内核 1994 年发布 1.0 发布到目前主流 2.6、3.X 版本,4.X 属于开发调试阶段,查看 Linux 操作系统内核如图 1-2 所示:

图 1-2 操作系统内核

Linux 内核命名格式为 “R.X.Y-Z”,其中 R、X、Y、Z 命名意义如下:

数字 R表示内核版本号,版本号只有在代码和内核有重大来源k2.fuss.mobi来源k2.fury.mobi改变的时候才会改变,到目前为止有 4 个大版本更新。数字 X表示内核主版本号,主版本号根据传统的奇偶系统版本编号来分配,奇数为开发版,偶数为稳定版。数字 Y表示内核次版本号,次版本号是无论在内核增加安全补丁、修复 Bug、实现新的特性或者驱动时都会改变。数字 Z表示内核小版本号,小版本号会随着内核功能的修改、Bug 修复而发生变化。官网内核版本如图 1-3 所示,Mainline 表示主线开发版本,Stable 表示稳定版本,稳定版本主要由 mainline 测试通过而发布。Longterm 表示长期支持版,会持续更新及 Bug 修复,如果长期版本被标记为 EOL(End of Life),则表示不再提供更新。

图 1-3 官网内核版本

PS.部分内容来源于网络

相关文章
|
28天前
|
Web App开发 Ubuntu 安全
代号Emerald 基于Ubuntu 20.04的Linux Lite 5.0发布
Bezencon还分享了新加入的软件:
102 0
|
2天前
|
机器学习/深度学习 人工智能 运维
运维别再“救火队”了,智能异常检测才是未来!
运维别再“救火队”了,智能异常检测才是未来!
150 79
|
22天前
|
网络虚拟化 虚拟化 Docker
记一次Windows端口占用问题排查
netstat命令排查不出的Windows端口占用问题的解决方案,附快速排查脚本
189 0
|
17天前
|
存储 监控 Java
“代码跑着跑着,就变快了?”——揭秘Java性能幕后引擎:即时编译器
HotSpot虚拟机内置C1和C2两个即时编译器。C1启动快,适合快速执行;C2优化强,适合长期运行。自Java 9起,默认启用C2或分层编译。分层编译结合C1与C2优势,共分5层,逐步提升编译质量。方法调用计数器与循环回边计数器用于识别热点代码,触发JIT编译。循环回边计数器还可启动栈上替换(OSR),提升大循环性能。本文详解JIT编译机制与性能优化策略。
159 75
|
17天前
|
存储 SQL 大数据
告别 Count Distinct 慢查询:StarRocks 高效去重全攻略
在大数据分析中,去重计算(如 Count Distinct)因高计算开销常成为性能瓶颈,尤其在高基数和高并发场景下更为明显。本文以 StarRocks 为分析平台,深入探讨多种去重优化策略,包括使用函数、数据类型转换(如 String 转 Int)、高效数据结构(如 Bitmap 和 HLL),以及物化视图的预计算方案。通过实际案例分析,对比不同方法在性能、精度和易用性方面的优劣,帮助用户在不同业务场景下选择最合适的优化手段。此外,文章还详细解析了如何结合 SQL 查询构建物化视图,以提升去重计算效率,并讨论了精确与近似去重的适用场景。最终目标是为复杂数据分析提供高效、灵活的解决方案。
|
21天前
|
传感器 数据采集 算法
【免费开源】基于 STM32F4 的四轴飞行器设计与实现——从零开始到成功起飞(项目源码打包分享)
四轴飞行器作为一种低空、低成本的遥感平台,已经在多个领域展现出广泛的应用潜力。相比其他类型的飞行器,它在硬件上结构紧凑、安装方便,但在软件层面却充满挑战——从传感器数据融合到姿态解算,再到快速且稳定的控制算法,每一环节都需要精心设计,也正因此让四轴飞行器更具技术魅力。
193 72
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
186 78
|
1月前
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】俯视角
本文介绍了Unity中常用的俯视角镜头实现方法,涵盖模型添加、角色Tag设置、摄像机脚本编写及测试运行,帮助开发者快速掌握俯视角在策略与模拟类游戏中的应用技巧。
160 0