上一节提到,Linux Kernel 本身并不是一个完整的日常操作系统。要真正使用 Linux,我们还需要 Shell、系统命令、软件库、包管理器、配置文件以及其他工具。把这些组件按照特定方式组合、测试和发布,就形成了 Linux Distribution(Linux 发行版,简称 distro)。
不同发行版共享很多 Linux 基础概念,因此你在 Ubuntu 学会的文件导航、权限、进程和 Shell 命令,通常也能迁移到 Debian、Fedora 或 Rocky Linux。它们真正不同的地方,往往是默认软件、软件包格式、包管理器、发布策略和系统配置习惯。
常见 Linux 发行版
没有一个发行版适合所有场景。桌面用户、开发者、企业服务器和云环境可能关注不同目标,因此会选择不同的发行版。初学者不需要记住所有发行版,只要先认识几个常见家族即可。
Ubuntu基于 Debian,文档和社区资源丰富,常见于桌面、开发和云服务器。
Debian历史悠久,重视稳定性,也是许多其他发行版的基础。
Fedora更新较快,经常较早采用新的 Linux 技术,与 Red Hat 生态关系密切。
Rocky Linux面向企业服务器环境,强调与 Red Hat Enterprise Linux 生态的兼容性。
发行版到底改变了什么?
发行版并不会把 Linux 变成完全不同的操作系统。更准确地说,它决定了系统默认带什么、软件从哪里安装、如何更新以及配置通常放在哪里。
例如,Ubuntu 和 Debian 常使用 apt 管理软件包,而 Fedora 常使用 dnf。这意味着“安装软件”的具体命令可能不同,但背后的目标相同:从可信的软件仓库获取程序,并由系统记录它们的版本和依赖关系。
| 方面 | Ubuntu / Debian | Fedora | 共同点 |
|---|---|---|---|
| 包管理器 | apt | dnf | 都用于安装、升级和删除软件 |
| 软件包格式 | .deb | .rpm | 都由包管理系统追踪依赖和版本 |
| 日常 Shell 命令 | cd, ls, cp, grep | cd, ls, cp, grep | 大量基础命令相同 |
学习重点:不要把“记住某个发行版的所有细节”当作 Linux 基础。更重要的是理解通用概念,然后在需要时查找该发行版的具体命令。
什么是 Linux Environment?
当人们说“Linux environment”时,通常不是指单一组件,而是你登录后实际工作的整体环境。它可能包括正在运行的发行版、当前用户、Shell、目录结构、环境变量、已安装的软件以及你拥有的权限。
理解这个环境很重要,因为同一条命令的结果可能受到当前目录、当前用户、环境变量甚至发行版的影响。后面的章节会逐步介绍这些部分。
发行版决定系统的软件生态、包管理工具和默认配置。
当前用户决定你是谁,以及你对文件和系统操作拥有什么权限。
Shell接收你输入的命令并启动程序,例如 Bash 或 Zsh。
文件系统与当前目录决定文件放在哪里,以及相对路径从哪里开始解释。
如何查看当前发行版?
在现代 Linux 系统中,/etc/os-release 通常包含发行版名称和版本信息。使用 cat 可以查看这个文本文件。你现在不需要掌握 cat;这里只需要认识这种常见的系统信息来源。
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="24.04 LTS (Noble Numbat)"
ID=ubuntu这一节需要记住什么?
Linux 发行版是由 Linux Kernel 加上系统工具、软件仓库、包管理器和默认配置组成的完整系统。发行版之间存在差异,但大量 Linux 基础知识是共通的。真正使用 Linux 时,你总是在某个具体的 Linux environment 中工作,而这个环境会影响命令如何执行。
知识测验