Linux 简介
在动手敲命令之前,我们先认识一下 Linux 到底是什么、它从哪里来、为什么值得学。理解了背景,学习的时候会更有的放矢。
Linux 是什么?
Linux 是一个开源操作系统内核。注意这里有个细节:严格来说"Linux"只是内核——也就是那个管 CPU、内存、磁盘、进程的核心程序,本身并不能直接给用户用。加上 GNU 项目的工具(bash、gcc、coreutils 等)和图形界面,才构成一个完整的"Linux 操作系统"。所以自由软件运动发起人 Richard Stallman 一直坚持叫它 GNU/Linux,但日常大家就叫 Linux。
无论怎么叫,它和 Windows、macOS 一样,是最广泛使用的操作系统之一——而且免费、开源,任何人都能查看和修改它的源代码。
诞生故事:一个大学生的"爱好"
Linux 的诞生是科技史上最传奇的故事之一。1991 年,芬兰赫尔辛基大学的大学生 Linus Torvalds 21 岁,他买了台 386 个人电脑,想用类似 Unix 的系统,但商业 Unix 太贵,教学用的 MINIX 又功能受限。于是他干脆自己写了一个内核,并在 USENET 新闻组发了那条著名的帖子:
"Hello everybody out there — I'm doing a (free) operating system (just a hobby, won't be big and professional)..."(大家好,我在做一个免费的操作系统,只是个爱好,不会很大很专业……)
结果这个"爱好"成了人类历史上影响最大的软件之一。今天全球 90% 以上的服务器、所有 Android 手机(底层是 Linux 内核)、全部排名前 500 的超级计算机、几乎所有公有云都在跑 Linux。Linus 后来还发明了 Git——你现在用的 GitHub 就是建立在他写的版本控制系统之上。
Linux 的吉祥物是一只胖企鹅🐧,名叫 Tux。据 Linus 说,他曾经在澳大利亚动物园被一只小企鹅咬了一口,从此得了"企鹅热",就把它选作吉祥物。
看看你的系统信息
打开终端(macOS 用 Terminal,Windows 用 WSL 或 Git Bash,Linux 直接 Ctrl+Alt+T),输入下面几条命令,先"摸一摸"你正在用的系统:
# 查看系统基本信息(打开终端试试这几条)
uname -a # 内核版本、主机名、CPU 架构
# Linux mypc 6.8.0-31-generic #31-Ubuntu SMP x86_64 GNU/Linux
cat /etc/os-release # 发行版信息(最准)
# PRETTY_NAME="Ubuntu 24.04 LTS"
# NAME="Ubuntu"
whoami # 当前登录用户名
# aden
pwd # 当前所在目录
# /home/adenuname 是 "UNIX name" 的缩写,-a 表示全部信息。whoami 直译就是"我是谁"——返回当前登录用户名。这些命令本身没用,但能帮你确认终端能正常工作。
核心特点:为什么 Linux 能"赢"
- 开源免费:任何人都能免费用、看源码、改源码、分发。这是 Linux 最大的本钱。
- 稳定:很多 Linux 服务器一跑就是几年不重启,内核经过千锤百炼。
- 安全:严格的权限模型、简洁的内核设计、庞大的开发者社区随时修漏洞。
- 一切皆文件:普通文件、目录、设备(硬盘、键盘)、网络套接字,统统以文件形式暴露。只要会几条文件命令,就能操作几乎所有东西。
- 小工具组合:每条命令只做一件事、做到极致,用管道把它们串起来就能完成复杂任务。这是 Unix 哲学的精髓。
- 多用户多任务:从设计第一天就支持多个用户同时登录、多个程序同时跑。
主流发行版(distro)
因为 Linux 内核本身只是核心,不同组织把内核加上不同的工具包、软件源、图形界面,打包成不同的"发行版"。常见的选择:
- Ubuntu:新手最友好,文档丰富,社区大。桌面、服务器、云上都常见。基于 Debian。
- Debian:极其稳定,但软件版本偏旧。适合"装上就不管"的服务器。
- CentOS / Rocky Linux / AlmaLinux:RHEL(红帽企业版)的免费复刻,企业服务器主流。过去叫 CentOS,2020 年红帽转变策略后,社区转移到 Rocky 和 Alma。
- Fedora:红帽的"试验田",新特性先在 Fedora 落地,再进 RHEL。桌面用的人多。
- Arch Linux:极客向,滚动更新(永远是最新的),文档(Arch Wiki)是全网最好的 Linux 参考资料。
- Alpine Linux:体积只有 5MB 左右,Docker 容器里几乎标配。
- Kali Linux:预装大量渗透测试工具,安全研究者用的多。
不同发行版的内核命令几乎一样(都是 Linux),区别主要在包管理器和默认软件。学会一套命令,所有发行版通用。下面看看不同发行版的包管理器长什么样:
# 不同发行版用不同包管理器(先认脸,后面专门讲)
# Debian / Ubuntu 系列(最常见的新手友好型)
sudo apt update
sudo apt install nginx
# CentOS / Rocky / RHEL 系列(企业服务器主流)
sudo yum install nginx # 老版本
sudo dnf install nginx # 新版本(Fedora/RHEL 8+)
# Alpine(容器里常见,体积极小)
apk add nginx
# Arch(极客向,滚动更新)
pacman -S nginx现在不用记,后面有专门一篇讲包管理。这里只是让你知道:命令略有不同,但套路一致。
该选哪个发行版练手?
- 完全零基础:Ubuntu。中文教程多、问题好搜答案、软件包全。
- 想在云服务器上部署:Ubuntu Server 或 Rocky Linux(阿里云、腾讯云默认就有镜像)。
- 想深入理解系统:Arch Linux。安装过程本身就是一堂课。
- Windows 用户:直接用 WSL2(Windows Subsystem for Linux),一键装 Ubuntu,不用虚拟机。
- macOS 用户:macOS 本身是 Unix,自带终端。命令略有不同(BSD 风格),但概念通用。想体验纯 Linux 用 Multipass 装个虚拟机。
Linux 都用在哪?
- 服务器:Web 服务器、数据库、API 服务,90% 以上跑 Linux。Nginx、MySQL、Redis、Docker、Kubernetes 都假设你在 Linux 上用。
- 云和容器:AWS、阿里云的 EC2/ECS 实例、Docker 镜像、K8s 节点,几乎全是 Linux。
- 移动设备:Android 系统底层是 Linux 内核。全球几十亿台手机都在用。
- 嵌入式:路由器(OpenWrt)、智能电视、车载系统、树莓派。
- 超级计算机:全球 Top500 超算 100% 跑 Linux。
- 开发本机:前端、后端、AI 工程师的开发机就算用 Mac/Windows,部署也跑 Linux。
该不该学 Linux?
如果你的方向是后端开发、运维、DevOps、云原生、AI 工程化、嵌入式,Linux 几乎是必修课。即便你是纯前端,部署自己的博客、调试构建环境、用 Git 也都离不开命令行。学完本系列,你将能独立 SSH 到一台服务器、安装软件、查日志、写脚本自动化任务、管理后台服务——这是一个工程师的基本功。
← 返回 Linux 教程目录
下一篇 Linux 命令行基础 →