← 返回全部文章

2026 年 Linux 初学者课程:从命令行到系统管理

完整介绍 Linux for Noobs 的课程设计:19 个 Guided Labs 和 18 个 Challenges,覆盖命令、文件、权限、进程、网络、Shell 脚本与恢复。

暖色中性背景上手持蓝灰色扳手的软 3D Tux 企鹅

会运行 ps aux,不等于会诊断进程;会运行 systemctl status,不等于能恢复服务;会运行 ip route,也不等于能判断连接在哪一层中断。

Linux 初学课程需要讲命令,但不能把命令彼此割裂。文件有所有者和权限,进程负责运行程序,服务管理长期运行的进程,监听套接字让服务可以通过网络访问,而 Shell 脚本与定时任务则把学习者最初手动完成的操作自动化。

2026 年更新后的 Linux for Noobs 按照这条关系链组织课程。课程目前包含 37 个终端实操项目:19 个 Guided Labs 和 18 个 Challenges。此前的 25 个项目止于命令行、文本处理、存储和软件包管理等核心主题;更新后的课程继续讲解进程、服务、日志、网络、SSH、Shell 脚本,以及定时备份与恢复。

这次更新不只是给课程目录增加了十二项内容。它建立了一条从运行单个命令,到检查并修改一套小型 Linux 系统的学习路径。

Linux for Noobs 公开课程页面,显示 Beginner 难度、19 个 Labs、18 个 Challenges,以及课程目录的起始部分

更新后的公开课程页面列出了 37 个实操项目:19 个 Guided Labs 和 18 个 Challenges。截图日期:2026 年 8 月 25 日。

37 个实操如何组成一门完整课程

Linux for Noobs 不是按照命令词典来组织的。37 个实操被编排为七个前后连接的区块,后面的任务会继续使用前面已经练习过的操作。

课程区块 Guided Labs 建立的基础 Challenges 要求完成的结果
终端与文件 基础命令、目录导航、文件操作、通配符、快捷键和命令帮助 保存终端横幅,正确移动并重命名草稿文件
用户、权限与 Shell 环境 用户、组、所有权、权限模式、链接、元数据、文件查找、环境变量和启动文件 配置用户、保护配置文件,并持久化一个变量
归档、磁盘与存储 Tar 与压缩格式、磁盘占用、块设备、文件系统、挂载和 /etc/fstab 创建压缩日志备份,并生成目录占用排序
管道与文本处理 退出状态、管道、grepcutsortuniqtrjoin、正则、sedawk 和数据流 筛选告警、规范化列表、提取地址和命令历史字段
进程、软件包、服务与日志 系统负载、进程状态、信号、作业、软件安装、systemd 服务和 journal 停止进程、安装本地软件包,并恢复失败服务
网络与远程访问 接口、路由、DNS、监听套接字、HTTP 检查、UFW、SSH、密钥和 scp 修正服务绑定地址,并向远程主机上传配置
脚本、备份与 Cron 脚本执行、变量、引用、条件、循环、归档检查、指定文件恢复和定时任务 编写日志汇总脚本,并恢复一份配置文件

课程中的命令行、文件、身份、存储和文本处理内容,共同构成后续系统操作的基础。学习者先运行命令并熟悉文件系统,再依次处理权限、环境变量、归档、存储、管道、正则表达式和重定向。进程管理出现时,路径、所有权、退出状态、文本过滤和文件描述符已经不再是孤立概念,而是可以组合使用的工具。

这套基础强调实际操作,而不是罗列知识点。命令帮助实验被放在课程前部,让 --helpmanapropos 成为后续实验中可以主动使用的工具。文件相关实验把路径继续连接到元数据、链接、查找和权限。文本处理部分则从管道与单个过滤器,逐步过渡到正则表达式,以及独立处理 stdout 和 stderr。后面读取 journal、检查服务端口、编写 Shell 脚本和记录定时备份,都会重新使用这些能力。

Guided Lab 与 Challenge 贯穿整门课程,并非只用于新增内容。Guided Lab 负责解释系统模型,让学习者运行命令、观察输出并检查状态;随后的 Challenge 撤掉大部分操作指引,只保留一个边界明确的结果。除成组出现的 Guided Lab 与 Challenge 外,课程前部还单独设置了一个命令帮助实验,因此总数为 19 个 Guided Labs 和 18 个 Challenges。

所有项目都在浏览器终端中进行。28 个项目使用标准 Ubuntu 22.04 终端环境;需要 systemd、挂载、SSH 或其他主机级行为的 9 个项目使用完整 Ubuntu 22.04 实例。整门课程保持相同的终端操作方式,但会根据正在学习的 Linux 子系统切换底层环境。

Linux 初学课程应该覆盖哪些内容?

“Linux 基础”并没有唯一的范围定义。目前的 Linux Professional Institute Linux Essentials 考试目标 包含命令行操作、文件、用户与用户组、权限、归档、备份和简单的 Shell 脚本。Linux Foundation 的 Introduction to Linux 则覆盖进程、文件操作、文本处理、网络操作、Bash 和本地安全原则。

这些资料可以用来确定入门内容的大致边界,但并不意味着所有课程都必须照搬同一份目录。它们说明了一个实际问题:如果入门课程只讲目录导航和文件命令,学习者很快会遇到知识断层。会创建文件的人,未必能解释文件属于哪个用户、服务为什么不能读取它、哪个进程正在占用它,或者修改权限后应如何验证结果。

Linux for Noobs 的范围仍低于中级系统管理课程,但现在已经覆盖排查这些问题所需要的系统关系。课程顺序如下:

终端与文件
  -> 用户、权限与环境变量
  -> 归档、磁盘与文件系统
  -> 管道、正则表达式与数据流
  -> 进程与作业控制
  -> 软件包、服务与日志
  -> 网络、防火墙与 SSH
  -> Shell 脚本
  -> 定时备份与恢复

这个顺序反映了实际的技术依赖。学习者先理解重定向和文件描述符,之后才会运行 nohup command > file 2>&1 & 这样的后台命令;先学会检查进程,再诊断服务和端口;先理解地址、路由、DNS 和监听套接字,再使用 SSH 远程连接;先掌握变量、引用、退出状态、文件测试和循环,再用脚本自动执行任务。

2026 年更新扩展了课程后半程

原有的 25 个实操已经覆盖命令行、文件、身份、权限、归档、存储、管道和文本处理。2026 年更新保留了这套基础,并增加六组 Guided Lab 和 Challenge,把同一种练习方式继续延伸到系统操作。每一组先通过说明和示例介绍一个系统领域,再要求学习者在更少提示下实现一个明确结果。

系统领域 Guided Lab 中的练习 Challenge 要达到的结果
进程 检查系统信息、负载、PID、信号和作业 根据 PID 文件找到并停止一个失控进程
服务与日志 使用 systemctljournalctl 和传统日志文件 诊断服务故障、修正配置,并让服务恢复为 active 状态
网络与防火墙 从地址和路由开始,依次检查 DNS、套接字、HTTP 和 UFW 修正服务的绑定地址,同时保持原有 HTTP 响应
SSH 与文件传输 建立远程 Shell、处理主机密钥、使用 scp,并创建 SSH 密钥 使用已有的 SSH 身份文件上传一份配置文件
Shell 脚本 使用 shebang、变量、引用、测试、退出状态和循环 编写短脚本,统计多个日志文件中的错误行
备份与恢复 创建并检查归档、恢复指定文件,并使用 Cron 安排命令 从现有归档中恢复一份丢失的配置文件

Linux for Noobs 课程目录末尾,显示网络、SSH、Shell 脚本和备份相关的 Guided Lab 与 Challenge 组合

新增的系统操作主题以 Guided Lab 与 Challenge 组合的形式出现在课程后半部分。截图日期:2026 年 8 月 25 日。

Challenge 的目标有意设置得比 Guided Lab 更窄。例如,网络实验会建立一条从主机名到应用响应的诊断链;随后的 Challenge 并不要求学习者同时重新设计路由、编写数据包过滤规则并提交报告,而是集中处理一个绑定地址,并确认服务可以正常响应。

这种范围控制对初学者很重要。内容较广的 Guided Lab 可以建立术语,并解释多个系统层次之间的关系;随后的 Challenge 则需要保持足够小的任务边界,让失败可以追溯到某一个具体判断,而不是五项互不相关的要求。

原有基础内容也经过了修订

四个已有的 Guided Labs 增加了新的基础内容。

权限实验不再止于 chmodchown,而是加入账号锁定、umask、粘滞位、目录 setgid、用户组继承,以及权限字符串中 sStT 的含义。setuid 仍只讲概念,课程不会要求初学者修改具有特权的系统程序。

文件与目录实验增加了 filestat、inode 基础、硬链接、符号链接和 diff。理解这些概念后,后续排错会更精确:一个路径可能已经删除,但 inode 仍能通过另一个硬链接访问;符号链接也可能仍然存在,而目标文件已经消失。这些都是需要检查的系统状态,不只是需要记忆的命令参数。

存储实验现在使用 lsblkblkid 连接设备、分区、文件系统和挂载点,并介绍 /etc/fstab 的用途与字段,以及持久挂载通常使用 UUID 的原因。课程会说明配置模型,但不安排可能影响系统启动的高风险操作。

数据流实验增加了 teetee -a,并对比使用 > 覆盖文件与通过管道一边显示、一边保存输出的区别。当课程继续学习日志观察、后台进程和脚本输出记录时,这部分知识会直接派上用场。

Guided Lab 与 Challenge 承担不同任务

Guided Lab 负责首次教学。一个命令或 Shell 结构第一次出现时,实验需要解释它的作用、为什么需要它、主要参数如何组合、输出表示什么,以及如何判断操作是否成功。

Challenge 则逐步撤掉这些支持。它会给出需要修改的对象、相关路径、约束条件和可观察的最终状态,但不会在可见任务中提供完整命令序列;完整过程保留在解答中。

两张 LabEx 公开实验页面并排展示:进程管理 Guided Lab 负责介绍系统模型,相关 Challenge 则给出一个由 PID 和 SIGTERM 限定的任务

左侧:Guided Lab 介绍如何检查和控制进程。右侧:相关 Challenge 指定进程、PID 文件和最终状态,但不规定每一步命令。截图日期:2026 年 8 月 25 日。

一个进程管理实例

进程管理 Guided Lab 用一个可观察的小实验解释“PID”这样的抽象术语。实验先启动一个无害的具名后台进程,保存其 PID,再通过两种方式检查这个进程:

bash -c 'exec -a labex-worker sleep 300' &
worker_pid=$!
echo "$worker_pid" > worker.pid

ps -o pid,ppid,user,stat,etime,args -p "$worker_pid"
pgrep -af labex-worker

$! 返回最近启动的后台作业 PID。将它写入 worker.pid,可以直观看到运行中进程与 PID 文件之间的关系。ps 根据这个 PID 显示选定字段,pgrep -af 则根据名称定位进程,并打印完整命令行。

随后,实验完成“检查—修改—验证”循环:

kill "$worker_pid"
sleep 1
ps -p "$worker_pid" || echo "labex-worker stopped after SIGTERM"

最后一个 ps 不是多余步骤。它用于检查发送默认 SIGTERM 信号之后的系统状态。在后续 Challenge 中,学习者会得到预先准备好的进程和 PID 文件,但不会再看到这套操作流程。任务是应用同一个模型:识别准确的进程,发送指定信号,并验证进程已经停止。

课程对 18 个 Challenges、对应解答和验证脚本进行了整体检查。解答需要使用的每一条命令、Shell 结构和系统概念,都可以追溯到更早的 Guided Lab。这避免了实操课程中常见的问题:实验讲了一套命令,练习却突然考查从未介绍过的技术。

下面三组内容可以看出支持程度是如何逐步降低的:

  • System Information and Process Management 解释 PID、PPID、进程状态、pgrep、信号和 killStop a Runaway Process 提供 PID 文件,要求学习者检查并终止对应进程。
  • Managing Services and System Logs 解释服务状态和 journal 查询;Recover a Failed Service 要求学习者根据这些信息修正端口值,并恢复服务。
  • Scheduled Backup and Recovery 解释归档清单、归档检查、指定文件恢复和 Cron;Restore a Configuration from Backup 将任务收窄为从现有归档中恢复一份丢失文件。

课程不会让学习者面对空白提示,独自重新摸索 Linux。它先提供系统模型和实例,再撤掉操作步骤,同时保留清楚的技术目标。

验证脚本检查最终状态

一条终端命令没有报错,并不能证明任务已经完成。chmod 可能成功修改了错误的文件;服务可能成功重启,但仍监听错误的地址;tar 也可能生成有效归档,却漏掉了要求备份的配置文件。

本次更新检查了 37 个项目中的全部 134 个有效验证脚本,其中 12 个项目的 22 个验证脚本经过调整。调整后的脚本会检查目标结果,同时不再要求学习者复现参考答案中完全相同的文本、空格、路径前缀或源码布局。

例如:

  • 环境变量检查会加载 Shell 配置并读取最终变量值,而不是匹配 .zshrc 中某一行固定文本;
  • 归档检查允许无关紧要的 ./ 或外层目录前缀,但仍要求成员和内容正确;
  • Shell 脚本检查可以根据执行结果判断,而不是强制要求某一段源码;
  • Cron、/etc/fstab 和 UFW 检查允许不影响语义的空白差异。

这种宽容只适用于等价解法。错误的 Cron 间隔、缺少 DNS 证据、目录顺序错误,或未包含指定成员的归档仍然无法通过。权限、所有权、服务状态、文件内容和安全边界在定义任务结果时仍会被严格检查。

课程在中级系统管理之前停止

增加服务、网络和自动化后,入门课程很容易变成压缩版认证考试大纲。这门课程为内容设置了明确边界。

它不讲 LVM、RAID、LUKS、NFS、Samba、高级 SELinux 或 AppArmor 配置、数据包捕获、自定义 iptables 或 nftables 规则、systemd 单元编写、内核编译、cgroups、namespaces、容器、集中式身份管理,以及高级 Bash 库和参数解析。

这些技术并非不重要,但它们依赖本课程正在建立的系统模型。学习者应当先理解普通挂载,再管理逻辑卷;先掌握基本地址和端口诊断,再编写防火墙规则;先写出简短的条件脚本,再构建可复用的 Shell 工具。

因此,Linux for Noobs 适合刚开始学习 Linux 的人,也适合已经记住一些零散命令,但还不能诊断进程、读取服务 journal、区分 DNS 故障与监听套接字问题,或从备份中恢复单个文件的人。它不能替代生产环境经验,也不是完整的 RHCSA、LFCS 或 Linux+ 备考课程。

课程从 Getting Started with Linux 开始,以 Restore a Configuration from Backup 结束。这两个任务之间的距离,比课程条目数量更能说明本次更新:学习者从执行第一条终端命令,逐步走到检查系统、完成一项边界清楚的修改,并验证最终状态。

参考资料