1.1 Linux 是什么

预计阅读时间:23 分钟

📖 目录

学习目标

学完本章后,你将能够:

  • 理解操作系统的本质——它是什么、做什么、为什么需要它
  • 解释 Linux 的起源故事,以及它和 Unix、GNU 项目的关系
  • 区分 GPL、MIT、Apache 等开源许可证的核心差异
  • 识别主流 Linux 发行版家族,并为自己的需求选择合适版本
  • 了解 Linux 在服务器、云计算、嵌入式等领域的主导地位

核心知识

  • 操作系统(Operating System, OS)——管理计算机硬件与软件资源的系统软件,是用户与硬件之间的桥梁
  • 内核(Kernel)——操作系统的核心,负责进程调度、内存管理、设备驱动等底层功能
  • Unix——诞生于 1969 年的操作系统家族,Linux 的设计灵感来源
  • GNU 项目——Richard Stallman 发起的自由软件项目,提供 Linux 系统中不可或缺的工具集
  • GPL(GNU General Public License)——Linux 采用的许可证,核心是 Copyleft:修改后的代码也必须开源
  • 发行版(Distribution / Distro)——Linux 内核 + 工具集 + 包管理器 + 应用软件打包而成的完整操作系统

知识关联

  • 前置知识:无需任何前置知识,本章是整套教程的第一课
  • 后续影响:本章的概念是学习 1.2:安装 Linux「安装 Linux」和 1.3:第一次进入命令行「第一次进入命令行」的理论基础
  • 配套技术:本章介绍的开源许可证和发行版概念会贯穿整本教程——每个章节的操作都基于某个发行版
  • 在整个体系中的位置:基础中的基础,不理解 Linux 的来历和生态,后续学习容易迷失方向

原理讲解

1. 操作系统是什么——从用户到硬件的桥梁

想象你开了一家咖啡馆。你没有直接去种咖啡豆、烧制陶瓷杯、装修店面,而是把这些事交给了供应链和装修队。你只需要告诉员工"做一杯拿铁",最终就能得到咖啡。

操作系统(Operating System,简称 OS) 的角色,就是咖啡馆的"店长"——它把复杂的硬件操作封装成简单的服务接口。应用程序(App)只需告诉操作系统"我要写这个文件""我要发这个网络包",操作系统就会指挥 CPU、内存、磁盘、网卡等硬件去完成。

操作系统提供两大核心功能:

功能做什么类比
硬件抽象将硬件差异隐藏,提供统一接口(系统调用)咖啡馆的菜单——顾客不看厨房设备,只看菜单点单
资源管理公平分配 CPU、内存、磁盘、网络给多个程序店长决定哪个订单先做、分配哪个员工操作哪台设备

你每天使用的设备上都运行着操作系统:

  • Windows PC → Windows 11 / 10
  • 苹果电脑 → macOS(基于 Unix 构建)
  • 安卓手机 → Android(基于 Linux 内核)
  • 苹果手机 → iOS(基于 Unix 衍生)
  • 网站服务器、云服务器 → 绝大多数是 Linux
  • 路由器、智能电视、汽车中控 → 大量运行 Linux

2. 操作系统的发展简史——从批处理到 Unix

理解 Linux,需要了解它之前发生了什么:

1940s–1950s:无操作系统时代。程序员直接操作硬件,插拔线缆、拨动开关来编程。每次只能运行一个程序。

1960s:批处理系统诞生。用户将程序打在穿孔卡片上,操作员批量送入计算机。一个程序跑完才能跑下一个——如果有 bug,第二天才知道。

1965:MIT、Bell 实验室、GE 联合启动 Multics 项目。目标是创建一个"信息公用事业"——一台计算机同时服务大量用户。项目过于庞大复杂,Bell 实验室于 1969 年退出。

1969:Unix 在废墟中诞生。Bell 实验室的 Ken ThompsonDennis Ritchie 在退出的余暇中,在一台废弃的 PDP-7 小型机上写出了 Unix 的第一个版本。取名 Unix 是对 Multics 的戏谑——"阉割版的 Multics"(发音类似"eunuchs")。

1973:Unix 用 C 重写,这是决定性的一步。Dennis Ritchie 发明了 C 语言,并用 C 重写了 Unix 内核。这使得 Unix 成为第一个用 C 语言编写并可移植的操作系统——只需重新编译,就能移植到任何有 C 编译器的计算机上。这极大地推动了 Unix 在学术界的传播。

3. Unix 的设计哲学——简洁就是力量

Unix 的设计哲学深刻影响了 Linux,至今仍是操作系统设计的黄金准则:

原则含义例子
一切皆文件硬件设备、进程信息、网络连接,都抽象为文件接口cat /proc/cpuinfo 查看 CPU 信息
小即是美每个程序只做一件事,并把它做到极致grep 只做文本搜索,不做别的
组合胜过单体通过管道将小工具组合成强大的处理链cat log | grep ERROR | sort | uniq -c
文本流程序间用纯文本通信,可读、可调试JSON / CSV / 日志文件都是文本
避免强制界面不给用户强加固定的交互方式既提供 CLI 也允许 GUI
📝 一切皆文件? 在 Linux 中,很多东西都是"文件"——磁盘是文件(/dev/sda)、进程信息是文件(/proc/)、硬件参数是文件(/sys/)、甚至网络通信也是文件(socket)。这个概念降低了系统设计的复杂性。

为什么采用"一切皆文件"的设计?

Unix 的"一切皆文件"并非随意选择,而是基于一个深刻的工程权衡:用统一接口降低系统复杂度。在 Unix 之前,每种 I/O 设备(磁盘、终端、打印机)都有自己的 API,程序员必须为每种设备写不同的代码。Unix 的做法是:所有 I/O 都通过 open()read()write()close() 这四个系统调用来操作。这意味着:

  • 代码复用:一个 cp 命令可以复制任何文件——普通文件、设备文件、管道,无需为每种类型写特殊逻辑
  • 组合性:任何程序的输出都可以直接作为另一个程序的输入(通过重定向和管道),因为一切都是字节流
  • 权限统一:一套 rwx 权限模型就能保护所有资源,不需要为磁盘、终端、网络各设计一套权限系统

这个设计的代价是:某些非文件语义的操作(如网络连接的建立/断开)需要通过 ioctl() 等扩展接口来处理,但总体上统一接口带来的简洁性远超这点不便。

为什么 Linux 采用分层架构(内核空间/用户空间)?

操作系统采用内核空间/用户空间的分层架构,核心目的是隔离与保护。内核运行在 CPU 的最高特权级(Ring 0),可以直接访问所有硬件和内存;应用程序运行在低特权级(Ring 3),只能通过"系统调用"(system call)向内核请求服务。这种设计带来三个关键好处:

  • 稳定性:一个程序崩溃(如内存越界)不会影响其他程序或内核,因为它们的地址空间是隔离的
  • 安全性:恶意程序无法直接读取其他用户的数据或修改系统配置,必须通过内核的权限检查
  • 可移植性:应用程序不需要知道底层硬件的具体型号,内核通过设备驱动屏蔽了硬件差异

这与 Windows 早期(如 Windows 9x)的设计形成对比——在那个时代,应用程序可以直接访问硬件内存,一个程序的 bug 就能导致整个系统蓝屏。现代操作系统都采用了这种分层架构。

4. Linux 的诞生——一个人的业余项目改变了世界

1991 年,芬兰赫尔辛基大学 21 岁的学生 Linus Benedict Torvalds 买了一台 386 PC。他对当时用于教学的操作系统 MINIX(一个简化版 Unix,用于教学目的)非常不满——因为 MINIX 的许可证限制了它的自由使用和修改。

Linus 决定自己动手写一个操作系统内核。这不是一个庞大的商业计划,而是一个学生的业余爱好项目。

1991 年 8 月 25 日,他在 comp.os.minix 新闻组发出了那封著名的帖子:

"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat..."

1991 年 9 月 17 日,Linux 0.01 版本在芬兰的一台 FTP 服务器上发布,仅有约 1 万行代码。当时它只能运行在 386 处理器上、没有网络功能、没有图形界面。1992 年初,Linus 做出了一个关键决定:将 Linux 以 GPL(GNU General Public License) 许可证发布。这意味着任何人可以自由使用、修改和分发 Linux,但修改后的版本也必须开源。

这个决定引爆了开发者社区。全世界的程序员开始贡献代码。Linux 从一个学生的业余项目,迅速成长为全球协作的工程奇迹。

时间里程碑意义
1991.08Linus 在新闻组宣布 Linux 项目项目启动
1991.09Linux 0.01 发布(约 1 万行代码)第一个公开版本
1992.01Linux 采用 GPL 许可证奠定了自由协作的法律基础
1994.03Linux 1.0 发布(约 17 万行代码)第一个稳定版,支持网络
2003.12Linux 2.6 发布企业级特性成熟(SMP、NUMA、新调度器)
2005Git 诞生Linus 因 BitKeeper 风波自创 Git 管理内核代码
2011.07Linux 3.0 发布版本号规则变化(实际是大版本 2.6.x)
2022.12Linux 6.1 发布Rust 语言基础设施首次合入内核主线
💡 Linux 版本号的变迁 早期 Linux 版本号规则是 A.B.C:A 是主版本,B 是奇偶号(奇数 = 开发版,偶数 = 稳定版)。2011 年起改为语义化版本,3.0 实为 2.6.40。2022 年达到 6.0。

5. Linux 内核与 GNU 项目——缺一不可的合作伙伴

许多初学者会说"我用的是 Linux",但从技术上讲,你用的是 GNU/Linux 操作系统。为什么?

Linux 只是内核(Kernel)。内核负责最底层的工作:

  • 进程调度——决定哪个程序占用 CPU
  • 内存管理——分配和回收程序的内存
  • 文件系统——管理数据的存取
  • 设备驱动——操作鼠标、键盘、网卡等硬件
  • 网络协议栈——处理 TCP/IP 等网络协议

但仅有内核是无法使用的。你需要一个 Shell 来敲命令、需要一个编译器来写程序、需要文件操作工具来处理文件——这些由 GNU 项目 提供。

GNU 项目(GNU's Not Unix)由 Richard Stallman 于 1983 年发起。它的目标是创建一个完全自由的 Unix 兼容操作系统。到 Linux 诞生时,GNU 项目已经完成了绝大多数用户空间工具——只差一个内核。Linux 恰好填补了这个空缺。

GNU 提供的关键工具作用命令
GCC(GNU Compiler Collection)C/C++ 编译器gcc
Bash(Bourne Again SHell)命令行解释器bash
Coreutils核心文件/文本/Shell 工具ls, cp, mv, rm, cat
glibc(GNU C Library)C 语言运行库几乎每个程序都链接它
GNU tar归档工具tar
GNU make构建自动化工具make
GNU grep文本搜索工具grep
GNU sed流式文本编辑器sed
GNU awk文本处理语言awk
📝 GNU/Linux 命名争议 Richard Stallman 坚持应称"GNU/Linux"以体现 GNU 项目的贡献。Linus 则认为 "Linux" 更简洁。这是个持续近 30 年的友好争论。Debian 发行版的官方名称是"Debian GNU/Linux"。

6. 开源许可证——代码共享的法律契约

Linux 采用的 GPL(GNU General Public License) 属于"copy-left"(著佐权)许可证,核心原则是:你可以自由使用、修改和分发软件,但如果你分发修改后的版本,必须同样以 GPL 开源。

与之相对的还有一系列"宽松许可证":

许可证类型核心规则典型项目
GPL v2 / v3强 Copyleft分发修改版必须开源Linux 内核、Git、WordPress
AGPL v3强 Copyleft(网络)即使通过 Web 提供服务,修改也必须开源Nextcloud、Mastodon
LGPL弱 Copyleft作为库使用时允许闭源链接glibc、FFmpeg
MIT宽松仅保留版权声明,可闭源使用Node.js、React、jQuery
BSD(2/3-Clause)宽松类似 MIT,附加禁止背书条款Nginx、Redis、PostgreSQL
Apache 2.0宽松类似 MIT,附加专利授权Kubernetes、Android、Spark
💡 如何选择? 如果想强制改进也必须开源 → GPL。如果你想最大程度被商业使用 → MIT。如果你需要明确的专利保护 → Apache 2.0。个人学习项目:选 MIT 或 GPL 都很常见。

7. Linux 发行版生态——同一颗心脏,不同的面貌

Linux 内核本身只是一个引擎。一个完整的 Linux 操作系统 = Linux 内核 + GNU 工具 + 包管理器 + 桌面环境 + 预装应用,这个组合称为一个 发行版(Distribution,简称 Distro)

发行版分为几大"家族":

家族包管理器代表发行版适合人群
Debian 系apt.debUbuntu、Debian、Linux Mint、Kali Linux初学者到专家
Red Hat 系dnf / yum.rpmRHEL、Fedora、Rocky Linux、AlmaLinux企业服务器
Arch 系pacmanArch Linux、Manjaro、EndeavourOS进阶用户
SUSE 系zypper.rpmopenSUSE、SUSE Linux Enterprise企业用户
独立发行版各自独有Alpine Linux(apk)、Void Linux(xbps特殊场景

新手推荐:从 Ubuntu LTS(长期支持版)或 Linux Mint 开始。它们拥有最大的社区、最丰富的文档、最简单的安装流程和最广的硬件兼容性。

发行版选择决策树

你想用 Linux 做什么?
├─ 学习 Linux 或日常使用
│  ├─ 从未用过 Linux → Ubuntu 或 Linux Mint
│  └─ 有一定经验 → Fedora 或 openSUSE
├─ 作为服务器
│  ├─ 个人/小团队 → Ubuntu Server
│  └─ 企业生产环境 → Rocky Linux 或 Ubuntu LTS
├─ 渗透测试/安全研究 → Kali Linux
├─ 开发/喜欢折腾 → Arch Linux 或 Manjaro
└─ 边缘设备/容器 → Alpine Linux

8. Linux vs Windows vs macOS——三大操作系统对比

理解 Linux 的最佳方式之一是把它和常见的操作系统放在一起比较:

维度LinuxWindowsmacOS
内核Linux(开源、类 Unix)Windows NT(闭源)XNU(混合、部分开源)
许可证GPL v2(开源)商业许可(闭源)商业许可(部分开源)
包管理apt / dnf / pacman(中心化)无标准包管理器(winget 新出)Homebrew(第三方)
命令行Bash / Zsh(原生强大)PowerShell / cmdZsh(基于 Unix)
桌面环境GNOME / KDE / Xfce 等(可选)Windows Shell(固定)Aqua(固定)
软件生态开源工具为主,商业软件较少最广泛的商业软件生态设计/创意类软件丰富
游戏支持Steam 正在改善,总体有限最完整中游
服务器份额>96%<2%<1%
适合用户开发者、运维、服务器、嵌入式普通用户、办公、游戏设计师、开发者
💡 不是非此即彼 很多开发者同时使用三台电脑——Windows 打游戏、macOS 写代码、Linux 跑服务器。你也可以用 WSL 在 Windows 上运行 Linux,或者用虚拟机在一台电脑上体验多个系统。

9. Linux 的全球影响力——数字背后的统治力

Linux 虽然桌面占有率只有约 3%,但在其他领域占据绝对主导地位:

  • 互联网:Top 1000 万网站中超过 70% 运行在 Linux 上。Google、Facebook、Amazon、Netflix 等巨头全部基于 Linux。
  • 云计算:AWS、阿里云、Azure 上超过 90% 的云服务器运行 Linux。几乎所有的容器和云原生技术(Docker、Kubernetes)都依赖 Linux 内核特性。
  • 超级计算机:TOP500 超算中,100% 运行 Linux。2004 年以来没有一台非 Linux 超算进入过 TOP500。
  • 移动设备:全球约 35 亿台 Android 设备基于 Linux 内核。加上各类嵌入式 Linux 设备,Linux 是全球部署最广泛的操作系统。
  • 嵌入式/IoT:路由器(OpenWrt)、智能电视、车载系统(Android Auto、Tesla)、机顶盒、工业控制系统——绝大多数运行 Linux。
  • 航天:SpaceX 的 Falcon 9 火箭和 Dragon 飞船、NASA 的 Perseverance 火星车、James Webb 太空望远镜——都使用 Linux。
  • 金融与交易:纽约证券交易所、纳斯达克、芝加哥商品交易所的核心交易系统均运行 Linux。
📝 为什么 Linux 在服务器领域如此流行? 免费(零许可成本)、稳定(连续运行数年不重启是常态)、安全(开源代码使漏洞快速发现和修复)、轻量(无图形界面的 Linux 仅需 256MB 内存即可运行)、社区庞大(遇到问题几乎都能搜到解决方案)。

10. 内核与发行版的版本节奏——稳定与激进的分工

理解内核版本和发行版版本的关系,能帮你读懂"Ubuntu 24.04 用 Linux 6.8"这类描述,也能帮你判断升级风险:

维度内核版本发行版版本
谁负责Linus 与内核社区(每 9-10 周发布一个新版)发行版维护者(Ubuntu 每半年一个版本,LTS 每两年)
节奏快速迭代:新特性、新驱动、新架构支持保守稳定:只移植安全补丁和关键修复,不追新
用户怎么看uname -r 查看,如 6.8.0-31-genericlsb_release -a 查看,如 Ubuntu 24.04.1 LTS
组合方式同一内核可被多个发行版使用同一发行版可支持多个内核版本

一个常见现象:Ubuntu 24.04 安装后是内核 6.8,而 Arch Linux 用户可能已经用上 6.13+。这不是 Arch 更先进,而是策略不同——LTS 发行版追求"五年内行为不变",滚动发行版追求"始终最新"。服务器上"老内核 + 新补丁"反而更安全,因为社区对成熟内核的测试覆盖更充分。

11. 给你的学习路径建议——从新手到能干活

Linux 知识体系庞大,没有路线图容易迷失。结合本站章节结构,推荐如下路径(每阶段都有可交付的成果):

阶段内容对应章节阶段目标(验收标准)
第一阶段:会用安装系统、命令行、文件操作、权限、包管理ch02-ch08能独立完成"在虚拟机装系统并日常操作"
第二阶段:能写管道、Shell 脚本、进程管理、网络基础ch09-ch13、2.8:Shell 脚本进阶能写自动化脚本处理重复工作
第三阶段:会管服务管理(systemd)、日志、磁盘、用户体系ch14-ch16、2.12:systemd 深入能维护一台生产服务器
第四阶段:懂架构容器、K8s、IaC、GitOps、监控体系6.1:容器底层原理6.2:Kubernetes 入门4.15:Terraform 入门6.7:GitOps 入门6.9:OpenTelemetry 与可观测性能搭建并运维一套云原生应用环境

给新手的三个具体建议:

  • 边学边建:每学一个章节,就在你的虚拟机上"重复"一遍文章里的命令。手打一遍胜过读十遍。
  • 带着问题学:先想"我要解决什么问题"(比如:每天手动备份太烦),再去找对应章节(3.13:备份策略与恢复 备份策略)——任务驱动的学习效率远高于按目录顺序刷。
  • 善用社区:Ubuntu 中文论坛、Arch Wiki(虽然是 Arch 的,但知识通用)、Stack Overflow 是三个最常去的地方。学会提问:先贴出命令、报错原文、你的排查过程。

示例代码

如果你已经安装了 Linux,打开终端(Terminal),尝试以下命令了解你的系统:

# 查看内核版本
uname -a
# 输出: Linux ubuntu-pc 6.8.0-31-generic #31-Ubuntu SMP x86_64 GNU/Linux

# 查看发行版信息
cat /etc/os-release
# 输出: PRETTY_NAME="Ubuntu 24.04.1 LTS"

# 查看 CPU 信息
cat /proc/cpuinfo | head -10
# 输出: processor	: 0
# 输出: vendor_id	: GenuineIntel
# 输出: model name	: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz

# 查看内存总量
free -h
# 输出: Mem: 15Gi total, 4.2Gi used, 6.8Gi free, 4.0Gi buff/cache, 8.7Gi available

# 查看磁盘使用情况
df -h
# 输出: /dev/sda1  235G  28G  196G  13% /

# 查看系统运行了多久
uptime
# 输出: 10:30:00 up 1 day, 2:31, 2 users, load average: 0.50, 0.75, 1.20

# 查看当前用户名
whoami
# 输出: admin

如果你还没有安装 Linux,没关系——下一章就会带你完成安装。这些命令可以先记住,以后会经常使用。

常见错误

错误/误区真相
"Linux 很难用,只有黑客才用"现代 Linux(Ubuntu、Mint)的桌面体验已经非常友好。命令行有学习曲线,但这正是你想学习的内容——命令行比 GUI 更强大。
"Linux 就是 Unix"Linux 是类 Unix(Unix-like)系统,不是 Unix。它们共享设计理念,但代码完全独立。Linux 是独立实现的克隆。
"Ubuntu 就是 Linux"Ubuntu 是 Linux 的一个发行版,不是 Linux 本身。Linux 有数百个发行版,Ubuntu 只是最流行的一个。
"Linux 没有病毒"Linux 的病毒确实远少于 Windows,但不是零。Linux 的安全优势来自:用户权限分离(默认非 root)、包管理器签名验证、开源审查。
"开源 = 免费,但不专业"开源 ≠ 免费。Red Hat 年收入数十亿美元,Linux 驱动着全球大部分商业基础设施。开源是一种开发模式,与质量没有直接关系。

最佳实践

#建议说明
1从 Ubuntu LTS 开始LTS(长期支持版,如 22.04、24.04)提供 5 年安全更新,社区文档最丰富,新手遇到问题最容易找到答案。
2先了解"为什么"再学"怎么做"不要死记命令。理解为什么 Linux 这样设计(如一切皆文件),命令自然就记住了。
3不要害怕命令行命令行不是过时的东西,而是最强大的工具。花一周适应它的"怪异"——之后你会嫌 GUI 太慢。
4善用 man 和 --helpman ls 可以查看 ls 命令的完整文档。大多数命令都有 --help 参数。学会看文档比记住所有参数更重要。
5遇到问题先搜再问Linux 社区文化提倡"先自己搜索"。90% 的问题在 Stack Overflow 或论坛上已经有答案。

练习题

  1. (概念)操作系统提供哪两大核心功能?用自己的话解释它们。
  2. (概念)什么是 Linux 发行版?Ubuntu 和 Arch Linux 有哪些核心差异?
  3. (概念)GPL 许可证的核心原则是什么?它与 MIT 许可证的关键区别在哪里?
  4. (实操)在你的 Linux 系统(或 WSL)上执行以下命令,记录输出:uname -acat /etc/os-releasefree -h
  5. (实操)uptime 查看系统运行了多长时间。尝试理解输出的每一列含义(提示:用 man uptime)。
  6. (探究 🔍)打开 cat /proc/cpuinfo,查看你的 CPU 型号、核心数和缓存大小。对比你手机的 CPU 参数(可在设置中查看),思考服务器 CPU 和手机 CPU 的设计差异。
  7. (探究 🔍)查阅资料了解 Linux 6.x 相比 2.6 引入了哪些重大变化。列出至少 3 个你感兴趣的新特性。
点击查看答案
  1. (概念)操作系统提供两大核心功能:硬件抽象(将硬件差异隐藏,提供统一接口)和资源管理(公平分配 CPU、内存、磁盘等给多个程序)。前者让应用开发无需关心底层硬件差异,后者确保多任务环境下的稳定运行。
  2. (概念)Linux 发行版是 Linux 内核 + 工具集 + 包管理器打包而成的完整操作系统。Ubuntu 面向新手,使用 apt 包管理器,提供稳定 LTS 版本;Arch Linux 面向进阶用户,使用 pacman 包管理器,采用滚动更新模式。
  3. (概念)GPL 的核心原则是 Copyleft——修改和分发的代码必须同样以 GPL 许可开源。MIT 许可证更加宽松,允许修改后的代码以闭源方式分发,只需保留原版权声明。GPL 是"传染性"的,MIT 不是。
  4. (实操)`uname -a` 显示内核版本、主机名、架构等信息;`cat /etc/os-release` 显示发行版名称和版本号;`free -h` 显示内存总量、已用、可用(-h 以人类可读格式)。如果命令找不到,检查是否输入错误。
  5. (实操)`uptime` 输出依次为:当前系统时间、系统已运行时间、登录用户数、1/5/15 分钟平均负载。用 `man uptime` 查阅每列含义。平均负载是指等待 CPU 调度的进程数。
  6. (探究 🔍)`cat /proc/cpuinfo` 输出多段 CPU 信息。processor 编号从 0 开始,model name 显示 CPU 型号,cache size 显示缓存大小。服务器 CPU 拥有更多核心/更大缓存/ECC 支持,手机 CPU 则注重功耗比。思考不同场景的设计取舍。
  7. (探究 🔍)从 Linux 2.6 到 6.x 的重大变化:BPF/eBPF 可编程内核、Rust 语言实验性支持、调度器(CFS → EEVDF)、cgroup v2、Btrfs 文件系统成熟、WireGuard 内置、L1TF/Meltdown/Spectre 漏洞缓解等。列出你最感兴趣的 3 个并说明理由。

学习检查点

学完本章后,请检验自己是否掌握以下内容:

检查项自测问题验证方法
概念理解能用自己的话解释操作系统、内核、发行版三者的区别尝试向他人讲解
命令操作能不查文档使用 uname -a、cat /etc/os-release、free -h 查看系统信息在终端实际执行
原理掌握能说出 Linux"一切皆文件"设计哲学的含义和优势画出流程图
故障排查能区分 GPL、MIT、Apache 开源许可证的核心差异对比不同开源项目
最佳实践能说明为什么新手推荐从 Ubuntu LTS 开始学习对比不同发行版特点

本章总结

Linux 是当今世界最重要的开源操作系统。它诞生于 1991 年一个学生的业余项目,如今已统治互联网服务器、云计算、超级计算机和移动设备。它继承了 Unix 的设计哲学(一切皆文件、小即是美、组合胜过单体),采用 GPL 许可证保障自由协作的生态。

核心概念速查

概念一句话定义
操作系统 (OS)管理硬件资源、为应用程序提供服务的系统软件
内核 (Kernel)操作系统的核心,负责进程/内存/设备/文件系统的管理
Linux一个类 Unix 的开源操作系统内核,GPL 许可
GNU提供 Linux 必备用户空间工具(GCC、Bash、Coreutils)的自由软件项目
发行版 (Distro)Linux 内核 + 工具集 + 包管理器打包而成的完整操作系统
GPL强 Copyleft 许可证,修改和分发时必须保持开源

下一步:继续学习 1.2:安装 Linux「安装 Linux」,在一台真实或虚拟的计算机上安装你的第一个 Linux 系统。

延伸阅读

常见问题

Linux 和 Unix 是什么关系?
Linux 是受 Unix 启发开发的自由开源操作系统内核。Unix 诞生于 1970 年代的贝尔实验室,而 Linux 由 Linus Torvalds 于 1991 年从头编写,不包含任何 Unix 代码。Linux 继承了 Unix 的设计哲学(一切皆文件、管道组合、模块化),但在 GPL 许可证下发布,任何人都可以自由使用和修改。
Linux 有那么多发行版,新手选哪个?
强烈推荐 Ubuntu LTS(长期支持版),如 22.04 或 24.04。Ubuntu 拥有最大的中文社区、最丰富的软件包、最完善的文档。也可以考虑 Linux Mint(更接近 Windows 体验)或 Debian(更稳定)。服务器环境优先选 Ubuntu Server LTS 或 Rocky Linux。
GNU 项目在 Linux 中扮演什么角色?
Linux 内核本身只是一个操作系统内核,而 GNU 项目提供了核心用户态工具(gcc 编译器、bash shell、coreutils 等)。严格来说系统应称为"GNU/Linux"。没有 GNU 工具链,Linux 内核只是一个无法直接使用的内核。
开源软件一定免费吗?
开源(Open Source)主要是一种许可证模式,不是价格标签。大多数开源软件确实免费,但有些采用双许可模式:社区版免费提供基础功能,企业版收费提供高级特性。关键在于开源赋予你使用、修改和再分发的权利,而非价格。
↑ 回到顶部