讲解
Linux 是一个开源的操作系统内核,由 Linus Torvalds 在 1991 年发布。严格地说,Linux 只是内核——负责管理 CPU、内存、磁盘和进程的那层核心软件;我们日常说的「Linux 系统」通常是内核加上 GNU 工具链和各种软件组成的「发行版」,比如 Ubuntu、Debian、CentOS、Fedora、Arch。不同发行版的差别主要在软件包管理和默认桌面环境上,命令行的核心用法几乎完全一致,学会一个就能迁移到所有。
为什么要学 Linux?因为它几乎统治了服务器世界:你访问的网站、用的 App 后端、云主机、容器、路由器,绝大多数都跑在 Linux 上。而管理 Linux 服务器的主要方式不是图形界面,而是命令行终端。掌握命令行,你就能部署服务、排查故障、处理日志、自动化重复劳动——这是后端、运维、数据、甚至前端工程师的通用基本功。
学习本教程不需要你真的装一台 Linux:macOS 的终端自带一套与 Linux 高度相似的 Unix 命令(本教程的所有本地示例都能在 macOS 上直接运行);Windows 用户可以安装 WSL(Windows Subsystem for Linux)获得一个完整的 Ubuntu 环境;也可以买一台最便宜的云服务器练手。需要提醒的是,Linux 用的是 GNU 版命令,macOS 用的是 BSD 版,个别选项略有差异,教程中遇到时会特别说明。
示例
打开你的终端(macOS 打开「终端」App,Windows 打开 WSL),输入下面几行命令,每行回车执行一次:
# 让系统跟你打个招呼
echo "Hello, Linux!"
# 你是谁?现在几点?当前是什么系统内核?
whoami
date
uname -s
四个命令各做一件事:echo 原样输出文字,whoami 告诉你当前登录的用户名,date 显示当前日期时间,uname -s 打印内核名字(Linux 机器上显示 Linux,macOS 上显示 Darwin)。命令行的一切都是从这样「输入命令、回车、看输出」开始的。
常见坑
- 把 Linux 当成一个具体的系统:Linux 是内核,Ubuntu、Debian 这些才是完整的系统。别人说「我用 Linux」时,追问一句「哪个发行版」才是内行。
- 以为命令不区分大小写:Linux 严格区分大小写,LS 和 ls 是两个不同的东西,文件名 Readme.txt 和 readme.txt 也是两个文件。
- 期待删除有回收站:命令行里 rm 删掉的东西不进回收站,直接消失。这是新手最贵的学费,后面章节会反复讲防护习惯。
- 一上来就背命令:没有人靠背参数学会 Linux。边用边查(man 和 --help 会专门讲),常用的自然就记住了。
小结
Linux 是开源内核,加上 GNU 工具组成各种发行版,命令行是管理它的核心方式。macOS、WSL、云服务器都可以作为练习环境。下一节先熟悉终端本身的基本操作。