🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。🎯适合人群:Linux 初学者、Ubuntu 新手、计算机专业学生、后端 / 运维 / 测试入门同学、想搭建 Linux 开发环境的开发者、准备学习服务器部署的同学,以及想从 Windows 过渡到 Ubuntu 工作流的用户。从“会打开终端”到“能管理系统”,从“复制命令”到“理解 Linux 思维”,这一次,我们不零散学,而是一路滚雪球!🎉限时福利:当前专栏活动中,一次订阅,终身阅读,后续更新章节全部免费解锁👉 立即查看👈️演示环境说明:开发工具:Visual Studio Code / JetBrains 系列 IDE / Vim / NanoUbuntu版本:Ubuntu 22.04 LTS / Ubuntu 24.04 LTS,推荐 Ubuntu 24.04 LTSLinux内核版本:Linux Kernel 6.x 或更高终端环境:Bash / Zsh包管理工具:APT / Snap / Flatpak远程连接工具:OpenSSH / Windows Terminal / MobaXterm / Termius虚拟化环境:VMware Workstation / VirtualBox / WSL2 / 云服务器容器环境:Docker / Docker Compose操作系统:Ubuntu Desktop / Ubuntu Server全文目录:一、前言:我们为什么要搞清楚这个关系?二、本文要解决什么问题?三、Linux 是什么:从操作系统内核说起3.1 操作系统内核是什么3.2 Linux 内核的诞生3.3 Linux 内核本身能用吗3.4 GNU 项目的角色四、Linux 发行版是什么:从内核到可用系统4.1 发行版解决的核心问题4.2 主流发行版家族图谱4.3 为什么发行版之间差异那么大五、Ubuntu 是什么:基于 Debian 的发行版5.1 Ubuntu 与 Debian 的关系5.2 Ubuntu 在 Linux 生态中的定位5.3 Ubuntu 内核版本与 Linux 内核版本六、Ubuntu 与 Linux 的层次关系:完整架构图解6.1 系统层次架构图6.2 每一层的职责说明6.3 一条命令背后经历了什么七、实验环境准备7.1 推荐实验环境7.2 验证环境是否就绪八、案例一:查看 Ubuntu 中的 Linux 内核信息8.1 查看系统版本与内核版本8.2 命令解析8.3 初学者常见误区九、案例二:APT 软件包管理 —— Ubuntu 如何为 Linux 内核套上"应用外壳"9.1 软件源的本质9.2 完成第一次软件安装实验9.3 APT 软件安装流程图9.4 命令解析十、案例三:systemd 服务管理 —— Ubuntu 如何在 Linux 上构建服务运行体系10.1 服务是什么10.2 systemd 的角色10.3 安装 Nginx 并体验服务管理10.4 systemd 服务管理流程图十一、深入理解:Ubuntu 对 Linux 的增强与封装11.1 文件系统层级:FHS 标准11.2 用户权限模型11.3 Shell 是如何执行命令的?11.4 环境变量的本质与作用域11.5 Netplan 网络配置体系十二、Ubuntu 学习路线图十三、核心命令与配置速查系统信息查看APT 软件包管理systemd 服务管理网络相关UFW 防火墙十四、常见问题与踩坑总结(FAQ)问题 1:Ubuntu Desktop 和 Ubuntu Server 有什么区别?问题 2:为什么 Ubuntu 推荐使用 LTS 版本?问题 3:apt update 和 apt upgrade 有什么区别?问题 4:为什么有些命令需要 sudo?问题 5:root 用户和普通用户有什么区别?问题 6:为什么安装软件时提示 "Unable to locate package"?问题 7:为什么修改配置后服务没有生效?问题 8:systemctl restart 和 systemctl reload 有什么区别?问题 9:为什么端口开放了,但外部还是访问不到?问题 10:UFW 开了以后为什么 SSH 连接不上?问题 11:为什么环境变量配置了但命令还是找不到?问题 12:为什么不推荐随便执行网上复制来的 shell 脚本?问题 13:为什么 Linux 中文件删除后不进入回收站?问题 14:如何判断一个 Ubuntu 系统问题是网络问题、权限问题还是服务问题?问题 15:初学者如何判断自己的 Ubuntu 学习路径是否合理?十五、Ubuntu 使用最佳实践建议版本选择用户与权限设计sudo 使用规范软件安装规范配置文件修改习惯服务管理规范SSH 安全建议防火墙配置原则Docker 使用边界故障排查思路十六、扩展知识点Ubuntu 内核升级方式Snap 与 APT 的关系Wayland 与 X11Ubuntu Pro 与 ESM十七、完整操作流程回顾十八、总结与下节预告本节学到了什么对初学者的一点鼓励下节预告🧧 学习福利 · 限时开放 🧧🫵 Who am I?一、前言:我们为什么要搞清楚这个关系?我刚开始学 Linux 的时候,每次在网上搜索资料都会碰到一个让人头疼的现象:有些文章说"Linux 系统如何如何",有些文章说"Ubuntu 如何如何",还有些人说"我在 CentOS 上用的命令,你 Ubuntu 上跑不了"。当时我心里非常困惑:Ubuntu 和 Linux 到底是不是同一个东西?我学的是 Linux,还是 Ubuntu?网上那些 Linux 教程,我能直接用在我的 Ubuntu 上吗?这种困惑让很多初学者在最开始就走了弯路。有人把 Ubuntu 和 Linux 完全等同,结果在 CentOS 系统上照搬 Ubuntu 命令,踩了一堆坑。有人把两者看成毫不相关的两个系统,结果学了 Ubuntu 还以为自己没学到 “真正的 Linux”,白白浪费了很多精力在心理建设上。实际上,这个问题的答案是非常清晰的,只是需要从操作系统的基本结构讲起,才能真正讲透。理解了 Ubuntu 和 Linux 的关系,你不仅能学好 Ubuntu,还能在以后碰到 CentOS、Debian、Rocky Linux 等其他发行版时,快速上手,举一反三。这篇文章就是专门解决这个问题的。我会从操作系统内核说起,一路讲到 Ubuntu 的具体组成,再通过实际命令让你感受这个关系在真实系统里是如何体现的。读完这篇,你对"我在学什么"这个问题,心里会有一个非常清晰的答案。二、本文要解决什么问题?在进入正题之前,我先把本文要解决的具体问题列出来,方便你对照自己的疑惑,看看这篇文章是否适合你:概念层面: