“我在学 Linux。”
“我的服务器跑的是 Linux。”
“安卓其实也是 Linux。”
你经常听到这句话,但你有没有想过,Linux 到底指的是什么?
是那个企鹅图标?是 Ubuntu?还是那个让人望而生畏的黑色命令行窗口?
严格来说,Linux 既是它们,又不是它们。今天我们就用最通俗的语言,把 内核 (Kernel)、Shell 和 发行版 (Distribution) 这三个容易混淆的概念一次性讲清楚。
1. 内核 (Kernel):汽车的“引擎”
如果把操作系统比作一辆汽车,Linux 内核就是这辆车的引擎。
- • 它是谁写的? 最初由 Linus Torvalds 在 1991 年写出,现在由全球成千上万的开发者共同维护。
- • 它在哪? 它深埋在系统最底层,你平时看不见它。
- • 驱动硬件:让硬盘转动,让网卡发包,让屏幕显示。
狭义上,只有“内核”才能被称为 Linux。 当我们说“安卓是基于 Linux 的”,意思就是安卓手机的底层跑着这个引擎。
但光有一个引擎,车是跑不起来的,你也没法直接坐在引擎上开车。这时候就需要——
2. Shell:汽车的“方向盘和仪表盘”
引擎(内核)很强大,但它只听得懂 0 和 1,听不懂人话。你需要一个翻译官,或者说一个操作界面。
Shell 就是这个界面(壳)。
- • 它干什么? 它包裹在内核外面,负责接收你的指令,翻译给内核听,然后把内核的执行结果反馈给你。
- • CLI (命令行):比如大家熟悉的 Bash、Zsh。你输入
ls,Shell 告诉内核“我要看文件列表”,内核去读硬盘,把结果给 Shell,Shell 显示在屏幕上。 - • GUI (图形界面):虽然严格来说图形界面(如 GNOME、KDE)是运行在 Shell 之上的应用程序,但它们起到的也是交互作用。
如果没有 Shell,内核就是一个空转的引擎,你完全无法控制它。
3. 发行版 (Distribution):整车出厂
现在你有了一个引擎(内核),也有了方向盘(Shell),还有了雨刮器、音响、座椅(各种应用软件:GNU 工具链、编译器、浏览器、文本编辑器等)。
把这些东西组装在一起,打个包,贴个牌子卖出去(或者免费送),这就是 Linux 发行版。
我们平时说的“我用 Linux”,其实指的都是“我用某个 Linux 发行版”。
因为组装的人不同,理念不同,所以就有了五花八门的发行版:
- • Ubuntu:像是一辆家用轿车。配置均衡,不仅有引擎,还自带豪华内饰(漂亮的桌面),开箱即用,适合新手和日常办公。
- • Red Hat (RHEL) / CentOS:像是一辆重型卡车或工程车。皮实耐用,极其稳定,坏了有厂家保修(RHEL),企业服务器首选。
- • Arch Linux:像是一堆高性能零部件。它给你引擎和轮子,剩下的你自己组装。你想装什么座椅、什么音响完全由你决定。门槛高,但极客最爱。
- • Kali Linux:像是一辆特种作战车。后备箱里装满了各种黑客工具(渗透测试软件)。
总结:三者关系图
为了方便记忆,我们可以这样理解:
- 1. Linux 内核 = 引擎(核心动力,管理硬件)
- 2. Shell = 方向盘/仪表盘(人机交互,控制引擎)
- 3. 应用程序 = 座椅/音响/空调(浏览器、编辑器、数据库)
- 4. Linux 发行版 = 整车品牌(Ubuntu, Debian, Fedora...)
所以,下次有人问你“什么是 Linux”,你可以告诉他:
Linux 严格来说只是那个管理硬件的内核;但我们通常说的 Linux,是指以 Linux 内核为核心,加上 Shell 和各种软件组装而成的完整操作系统(发行版)。
互动话题:
你是从哪个发行版开始“入坑” Linux 的?是 Ubuntu、CentOS 还是 Deepin?欢迎在评论区晒出你的“第一辆车”!