写在前面
本文是“Linux学习笔记”专栏的第一篇文章,本文将从 Unix 起源讲起,系统梳理 Linux 的诞生背景、核心人物、家族分支与主流发行版,帮大家搭建 Linux 知识的历史框架,为后续深入学习打下基础。
目录
一、Unix--Linux的前身
1.啥是Unix
2.Unix的设计哲学
3.Unix 对现代系统的影响
二、Linux的诞生
1.Unix 的闭源与分裂
2.自由的火种:GNU计划与自由软件运动
3.林纳斯和他的业余项目
3.1.核心人物:林纳斯・托瓦兹
3.2.诞生背景:Minix 的启发与限制
3.3.关键时间线:从 0.01 到 1.0 的飞跃
3.4.名字的由来:Linux vs Freax
4.Linux的吉祥物
三、啥是Linux?
1.Linux 仅仅只是内核
2.GNU/Linux 的真正含义
四、Linux 家族:开源生态的 “分支树”
1.Debian 家族
2.Red Hat 家族
3.SUSE 家族
4.独立发行版
五、Linux的成长时间线
六、Linux为什么能成功?
七、Linux对当今世界的影响
一、Unix--Linux的前身
要理解 Linux,必须先读懂 Unix
1.啥是Unix
Unix 是一种多用户、多任务操作系统。
20 世纪 60 年代末,美国贝尔实验室 汇聚了众多顶尖计算机科学家。彼时,贝尔实验室与麻省理工学院 、通用电气 共同参与大型分时操作系统 Multics (Multiplexed Information and Computing Service)项目的研发。
贝尔实验室
然而,Multics 架构复杂、实现成本高、推进缓慢,贝尔实验室最终于 1969 年退出该项目。
肯·汤普森
项目终止后,研究员 肯·汤普森 为了让自己开发的《Space Travel》能够在闲置的 PDP-7 小型机上高效运行,使用汇编语言开发出一个简洁的操作系统原型。
丹尼斯·里奇
随后,他的同事 丹尼斯·里奇 加入开发工作。汤普森曾设计出 B 语言用于系统开发实验,但其能力有限。为解决系统编程中的性能与表达能力问题,里奇在 B 语言及 BCPL 的基础上设计出了 C 语言 。
1973 年,汤普森与里奇使用 C 语言对 Unix 进行了完整重写。这一举措极大提升了系统的可移植性,使 Unix 成为历史上首个广泛实现跨平台移植的操作系统之一,也为现代操作系统的发展奠定了基础。
2.Unix的设计哲学
1.一切皆文件
设备、磁盘、终端、网络连接,都可以用文件方式访问。
Ubuntu dev目录
2.程序只做好一件事
开发中讲究高内聚、低耦合。
我们举个例子:
grep:文本搜索 cat:查看文件 sort:排序 wc:统计
每一条命令都有自己独特的功能
这些命令组合起来就能完成复杂任务
cat log.txt | grep ERROR | wc -l 复制代码
这条命令是 Linux/Unix 里非常经典的管道组合命令 ,作用是:统计log.txt文件中包含ERROR的行数
3.强调可组合性
“小工具组合成大系统”。
这也是现代微服务思想的源头之一。
3.Unix 对现代系统的影响
今天,我们用的很多系统都受Unix影响,比如MacOS,FreeBSD,Linux,Android等
可以毫不夸张的说,Unix是现代操作系统的祖师爷!
二、Linux的诞生
1.Unix 的闭源与分裂
美国国际电话电报公司(AT&T)
1980 年代后,贝尔实验室所属的 AT&T 公司将 Unix商业化、闭源化 ,收取高额授权费,禁止自由修改与传播。同时,Unix 衍生出两大主流商业分支:
System V(SysV): AT&T 主导,侧重企业服务器,商业闭源BSD(Berkeley Software Distribution): 加州大学伯克利分校开发,开源但受版权限制,侧重科研与桌面
Unix 的 “闭源垄断” 与 “分裂混乱”,让程序员渴望一个免费、开源、兼容 Unix 的操作系统 —— 这为 Linux 的诞生埋下了伏笔。
2.自由的火种:GNU计划与自由软件运动
理查德·斯托曼
在 Unix 走向闭源的黑暗时代,有一位名叫理查德·斯托曼 (Richard Stallman)的“理想主义大侠”站了出来。他认为软件应该是自由的,用户应该有权利查看、修改和分享源码。
GNU计划
于是,他在 1983 年发起了 GNU 计划 (GNU's Not Unix,一个极其极客的递归缩写)。他的目标是:从头编写一个完全自由的、兼容 Unix 的操作系统。
为了这个目标,GNU 项目组开发出了一大批极为优秀的底层工具:
GCC :功能强大的 C/C++ 编译器Emacs :神级文本编辑器Bash :标准的命令行解释器(Shell)
到了 90 年代初,GNU 计划万事俱备,几乎把操作系统上所有的应用软件、编译器、库文件都写好了,唯独缺了一个核心组件——操作系统的内核(Kernel) 。他们自己研发的内核 Hurd 进展极其缓慢。
历史,正在等待那个补全拼图的人。
3.林纳斯和他的业余项目
3.1.核心人物:林纳斯・托瓦兹
林纳斯・托瓦兹
林纳斯・托瓦兹 (Linus Torvalds)被誉为Linux 之父,1969 年出生于芬兰,赫尔辛基大学 计算机系学生。性格低调、务实,痴迷于操作系统开发,至今仍是 Linux 内核的核心维护者(BDFL,仁慈独裁者) 。
他不仅缔造了风靡全球的 Linux 操作系统,还亲手开发出如今风靡全球、影响整个开源行业的分布式版本控制系统 Git。
3.2.诞生背景:Minix 的启发与限制
安德鲁・塔嫩鲍姆
1990 年,林纳斯在大学接触到 Unix,但商业 Unix 价格昂贵,个人电脑无法运行。此时,他读到教授安德鲁・塔嫩鲍姆 (Andrew Tanenbaum)的著作《操作系统:设计与实现》 ,书中附带一个教学用的Minix 系统—— 一个精简版 Unix,免费开源,可在个人电脑运行,但仅限教学使用,禁止商业与深度修改 。
林纳斯在使用 Minix 时,发现其功能简陋、硬件支持差,无法满足自己的需求。于是,21 岁的他萌生了一个想法:写一个属于自己的、免费开源的类 Unix 内核 。
3.3.关键时间线:从 0.01 到 1.0 的飞跃
1991 年 4 月 :林纳斯开始编写内核代码,最初仅实现磁盘驱动、文件系统等基础功能1991 年 8 月 25 日 :林纳斯在 Minix 新闻组发布消息,公开自己的项目,征求全球程序员的意见与贡献1991 年 9 月 17 日 :Linux 0.01 版 正式发布,仅包含 1 万行代码,功能极简,仅支持 386 架构电脑,免费开源(禁止商业使用)1992 年 :林纳斯将内核许可证改为GPLv2(GNU 通用公共许可证) ,允许自由使用、修改、传播(包括商业用途),吸引全球开发者加入1994 年 3 月 14 日 :Linux 1.0 版 正式发布,内核功能完备,支持多任务、网络协议,全球开发者协作完成,标志 Linux 成为成熟的操作系统内核
3.4.名字的由来:Linux vs Freax
林纳斯最初给内核命名为Freax (Free+Unix 的组合),但他的朋友、FTP 服务器管理员阿里・莱姆克 (Ari Lemmke)觉得名字不好听,擅自将项目文件夹命名为Linux (Linus+Unix 的组合),这个名字从此流传开来。
4.Linux的吉祥物
Tux
相信不少朋友都见过这只憨态可掬的企鹅,它正是 Linux 的吉祥物,更是开源文化的标志性形象,由 Linux 创始人林纳斯・托瓦兹亲自敲定。
这只可爱的企鹅还有专属名字,叫做Tux 。这个名字一方面取自创始人林纳斯・托瓦兹与 Unix 的组合缩写,另一方面也取自英文燕尾服 tuxedo,贴合企鹅黑白分明的外形,寓意十分巧妙。
至于为何会选用企鹅作为吉祥物,背后还有一段趣味渊源。当年林纳斯前往澳大利亚游玩时,曾被动物园里的小企鹅啄咬,从此便对企鹅心生偏爱。加之企鹅性情温和、模样憨厚讨喜,契合 Linux 亲民包容的开源理念,同时企鹅栖息于无国界的南极,也象征着 Linux 自由开放、不分地域共享发展的开源精神,最终这只可爱的企鹅正式成为 Linux 的官方吉祥物。
三、啥是Linux?
1.Linux 仅仅只是内核
严格来说,Linux 并不是一个完整的操作系统,它仅仅只是一个内核
其中内核(Kernel) 是整个系统的核心中枢,主要承担五大核心工作:
进程管理 内存管理 文件系统管理 硬件设备驱动 网络资源调度
我们常说的 Linux,严格意义上特指Linux Kernel ,它只是一套纯粹的系统内核,并非完整可直接使用的操作系统。
2.GNU/Linux 的真正含义
单纯的 Linux 内核无法直接供用户日常使用,想要构成一套功能完备、能够正常操作使用的完整操作系统,还需要搭配大量配套组件。
一套完整的类 Unix 操作系统组成结构为:Linux 内核 + GNU 开源工具链 + 软件包管理器 + 桌面环境 + 各类应用软件 。
GNU 项目提供了命令行工具、系统库、编译环境等基础必备程序,补齐了内核之外所有日常使用所需的基础功能。正因整套系统依托 Linux 内核,又大量依赖 GNU 项目成果,从严谨层面来讲,我们日常使用的各类 Linux 发行版,准确称呼应当为GNU/Linux 。
这也就能解释,我们安装 Ubuntu、CentOS 等系统后,并非只有单一内核,而是自带命令工具、软件安装功能与可视化桌面,具备一套完整操作系统的全部使用能力。
总结:到底什么是 Linux
狭义上讲,Linux 单指由林纳斯开发维护的Linux 内核 ,只负责管理硬件、调度进程、分配内存、驱动设备等底层核心工作,无法独立使用。
广义上讲,我们日常安装使用的各类 Linux 系统,是Linux 内核搭配 GNU 工具链、软件管理器、桌面环境及各类应用软件 组合而成的完整操作系统,标准名称为GNU/Linux 。简单来说,内核是 Linux 的核心骨架,各类开源组件赋予了它完整实用的操作功能,二者结合才是大家熟知的 Linux 系统。
四、Linux 家族:开源生态的 “分支树”
Linux 本身只是内核 (操作系统的核心,负责管理硬件、进程、内存),我们日常使用的 “Linux 系统”,是内核 + GNU 工具(编译器、命令行工具)+ 桌面环境 + 应用软件的集合,称为GNU/Linux 。
经过 30 多年发展,Linux 形成了庞大的家族体系,按血统与发行方 可分为四大核心分支:
1.Debian 家族
Debian
核心特点 :完全由全球志愿者社区维护,100% 免费开源 ,无商业公司控制,稳定性极高,包管理工具为dpkg/apt 源头 :1993 年发布的Debian ,是历史最悠久的社区发行版主流衍生版 :
Ubuntu :2004 年发布,基于 Debian,由 Canonical 公司支持,界面友好,新手首选,长期支持版(LTS)提供 5 年更新Linux Mint :基于 Ubuntu,桌面简洁,兼容性强Kali Linux :基于 Debian,专为网络安全、渗透测试设计,集成大量黑客工具
2.Red Hat 家族
Red Hat
核心特点 :商业公司主导 ,社区版免费、企业版付费 ,稳定性 、安全性极强 ,服务器领域占有率第一 ,包管理工具为rpm/yum/dnf 源头 :1994 年发布的Red Hat Linux (红帽),2004 年拆分出Fedora (社区测试版)与RHEL(Red Hat Enterprise Linux,企业版) 主流衍生版 :
CentOS :基于 RHEL 源代码编译,免费开源,长期是国内服务器首选(2020 年停止更新,转为 CentOS Stream)Rocky Linux/AlmaLinux :2021 年发布,由原 CentOS 团队创建,1:1 兼容 RHEL,替代 CentOSFedora :红帽社区版,每 6 个月更新,集成最新技术,适合开发者与技术爱好者
3.SUSE 家族
SUSE
核心特点 :德国 SUSE 公司主导,企业级稳定性强,桌面体验优秀,包管理工具为rpm/zypper 主流版本 :
openSUSE :社区免费版,分为 Leap(稳定)与 Tumbleweed(滚动更新)SUSE Linux Enterprise(SLE) :企业付费版,服务器与桌面通用
4.独立发行版
核心特点 :不基于任何现有发行版,独立开发,追求极简、高效、高度自定义 ,适合技术极客与特殊场景代表版本 :
Arch Linux :滚动更新,极简主义,手动配置,始终保持最新软件,适合折腾爱好者Gentoo :源代码编译安装,高度自定义,性能极致,适合追求性能的极客Alpine Linux :超轻量(仅 5MB),安全稳定,专为容器、嵌入式设备设计
五、Linux的成长时间线
1969---Unix诞生 1983---GNU Project 启动 1991---Linux Kernel 发布0.01 1994---Linux 1.0发布 1993-1996---经典发行版Debian、Red Hat、SUSE出现 2004---Ubuntu发布,Linux开始大规模进入桌面用户视野 2008---Android崛起,Linux占领移动端 今天---Linux已经成为云计算、容器、AI基础设施
六、Linux为什么能成功?
现如今 Linux 早已无处不在,应用场景遍布各行各业,而它能够收获巨大成功,核心原因主要分为以下五点。
开源: 任何人都能查看和修改源码。全球协作: 开发者共同维护。稳定可靠: 服务器 uptime 极高。可移植: 支持几乎所有架构。自由灵活: 按需裁剪。
七、Linux对当今世界的影响
很多人以为 Linux 只是“程序员系统”。但是经过 30 多年发展,Linux 早已不是 “小众系统”,而是渗透到数字世界的每一个角落 :
服务器: 全球 90% 以上的服务器运行 Linux(阿里云、腾讯云、AWS 均基于 Linux)云计算: Docker、Kubernetes 等容器技术基于 Linux嵌入式: 手机(安卓基于 Linux)、智能手表、路由器、智能家居、汽车系统超级计算机: 全球 TOP500 超级计算机 100% 运行 Linux桌面: Ubuntu、Fedora 等逐步提升市场份额,适合开发者与办公
如果说Windows 改变了个人电脑 。那么Linux 改变了互联网基础设施 。
Linux 的成功,本质是开源精神 的胜利:林纳斯将代码免费公开,全球志愿者自发贡献,无国界、无阶级、无利益垄断,共同打造一个 “属于全人类的操作系统”。这种 “自由分享、协同创新” 的精神,至今仍是开源社区的核心价值观。
写在最后
本文是博主在学习 Linux 过程中整理的个人笔记,写作时也查阅了大量公开资料与文献,力求内容准确。若有疏漏或表述不当之处,欢迎大家指正,也请多多包涵~
往期文章
C语言 基础编程练习题(一)
C语言 基础编程练习题(二)
C语言 基础编程练习题(三)
Java 基础编程练习题 (二)
Java 基础编程练习题 (三)