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/aden

uname 是 "UNIX name" 的缩写,-a 表示全部信息。whoami 直译就是"我是谁"——返回当前登录用户名。这些命令本身没用,但能帮你确认终端能正常工作。

核心特点:为什么 Linux 能"赢"

主流发行版(distro)

因为 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

现在不用记,后面有专门一篇讲包管理。这里只是让你知道:命令略有不同,但套路一致。

该选哪个发行版练手?

Linux 都用在哪?

该不该学 Linux?

如果你的方向是后端开发、运维、DevOps、云原生、AI 工程化、嵌入式,Linux 几乎是必修课。即便你是纯前端,部署自己的博客、调试构建环境、用 Git 也都离不开命令行。学完本系列,你将能独立 SSH 到一台服务器、安装软件、查日志、写脚本自动化任务、管理后台服务——这是一个工程师的基本功。

← 返回 Linux 教程目录

下一篇 Linux 命令行基础

✈️💬