首页
/ UCB Sysadmin DeCal 入门指南:面向零基础的 Linux 与系统管理员十二周课程(CS 自学指南推荐课)

UCB Sysadmin DeCal 入门指南:面向零基础的 Linux 与系统管理员十二周课程(CS 自学指南推荐课)

2026-09-07 16:36:27作者:何举烈Damon

本文是 CS 自学指南(cs-self-learning)编程入门模块对 UCB Sysadmin DeCal 课程的系统解读。这是一门由加州大学伯克利分校开设、面向零基础学习者的 Linux 与系统管理入门课,全程约 20 小时、共十二周,覆盖从命令行基础到 Docker/Kubernetes 的完整知识面。读完本文,你将清楚了解这门课的定位、十二周内容框架、外校学习者无法访问部分作业时的替代练习方案,以及它与同仓库中 MIT Missing Semester 等课程如何衔接、如何纳入你自己的自学路线。

课程基本信息

本仓库 编程入门 模块导航 将 Sysadmin DeCal 与 MIT-Missing-Semester 并列列为编程入门阶段的推荐课程。课程核心信息如下:

项目 内容
开设学校 UC Berkeley(UCB,加州大学伯克利分校)
课程名称 Sysadmin DeCal(系统管理 DeCal)
先修要求
主要语言 Shell(命令行)
课程难度 ★★★(三星,入门友好但内容量不小)
预计学时 约 20 小时
课程周期 十二周
面向人群 零基础、希望系统了解和上手 Linux 环境的初学者

为什么推荐 DeCal:与 MIT Missing Semester 的定位差异

在 CS 自学指南中,MIT-Missing-Semester 是很多人接触命令行工具的第一站,相关资料见 docs/编程入门/MIT-Missing-Semester.md。仓库作者对两门课的评价是:

  • Missing Semester 更像"查缺补漏":它面向已经开始编程、但没有系统使用过 Shell、Git、Vim、tmux、ssh 等工具的学生,把大学课堂里"消失的一个学期"补齐。
  • Sysadmin DeCal 更像"零基础正课":讲解更系统、更清晰,从 Linux 本身讲起,面向完全没有经验的新手。

两者并不冲突,而是可以按基础程度衔接:完全零基础 → 先学 DeCal 打底;已有一定编程与开发工具使用经验 → 直接学 Missing Semester 补短板。仓库的 使用指南 也强调初学者应尽早掌握 Git、Shell、Vim 等生产力工具,DeCal 恰好把这一目标"课程化",用作业和 lab 强制你动手,而不是停留在看教程。

十二周课程内容全景:从命令行到运维与 GPU 计算

DeCal 覆盖主题横跨"个人开发者工具 → 单机系统管理 → 网络与安全 → 现代运维(容器/编排/配置管理)→ 异构计算",整体层次递进:

1. Linux 基础与 Shell 编程

课程从 Linux 的基础使用讲起,进而深入 Shell 编程,并顺带覆盖终端复用工具 tmux 与文本编辑器 Vim。这部分与仓库 必学工具/Vim.md 中强调的"服务器上没有图形界面,只能通过命令行编辑文件"的场景完全对应——Vim 是 ssh 进远程服务器后最可靠的编辑器,而 tmux 则解决会话断开后任务丢失的问题。

2. 软件包管理与系统服务(Services)

介绍发行版的包管理机制(安装、卸载、升级、软件源配置)以及**系统服务(Services)**的概念,例如如何查看服务状态、如何让一个程序随开机自启。这是"使用 Linux"迈向"管理 Linux"的第一步。

3. 基础计算机网络与网络服务

课程会讲解基础的计算机网络原理,并在此之上学习搭建与排查网络服务(如 DNS、Web 服务器、远程登录服务等),为后续 ssh、安全与运维内容做铺垫。

4. 安全与密钥管理

围绕 ssh 密钥管理与系统安全展开,涉及公钥/私钥的概念、权限与最小化暴露等基本安全素养。

5. Git、Docker、Kubernetes、Puppet

现代开发与运维工具的入门:

  • Git:版本控制。仓库 必学工具/Git.md 给出了完整自学路线(Missing Semester 章节 → Pro Git 前五章 → Learn Git Branching 交互练习)。
  • Docker:轻量级容器化,比虚拟机更轻的软件打包与部署方式(见 必学工具/Docker.md)。
  • Kubernetes:容器编排入门,了解集群化部署的基本心智模型。
  • Puppet:声明式配置管理工具,属于自动化运维范畴。

6. CUDA

课程还涉及 CUDA(NVIDIA 的 GPU 编程平台),让你对"Linux 环境下异构计算/HPC"有一个直观的初步印象,这在后续学习机器学习系统(仓库 机器学习系统 目录下的课程)、深度学习时非常有用。

需要说明的是:原文档仅概括了十二周的覆盖主题,并未逐一标注"第 N 周对应某主题",具体每周排期与 lab 顺序以课程官网为准。以上分组是为方便理解而做的逻辑归类,模块名称均直接取自原文档。

需要注意的局限:依赖远程服务器的作业

课程的一个美中不足是:部分作业需要在远程服务器上操作(典型如 ssh 相关练习),而这些服务器资源要求 UCB 内部账号访问,外校学习者无法直接使用。

仓库给出的替代方案是:

  • 自建虚拟机 + 远程终端工具(如 Xshell)模拟远程操作场景;
  • 或者直接使用 Linux 桌面版作为日常练习环境。

把十二周的完整课程与作业做完,你就应该具备对 Linux 环境最基本的理解。这类环境搭建思路与本仓库 CS 学习规划 中关于服务器端环境配置的建议一脉相承——学习系统运维需要真实的 Linux 环境去练手。

配套实战练习:OverTheWire Bandit

为了弥补外校学习者无法访问 UCB 内部远程服务器(主要涉及远程连接、文件权限等练习),原文档推荐了配套练习靶场 OverTheWire 的 Bandit

  • Bandit 是一款面向 CTF 爱好者的免费 Wargame(攻防练习靶场)
  • 前 15 个 level 都只涉及基础的 Linux 操作,完全不涉及任何 CTF 知识
  • 这些关卡恰好覆盖了 DeCal 中外校无法完成的远程连接、文件权限等操作点,作为课程练习的补充非常合适。

学习节奏建议:把 Bandit 放在 DeCal 学到 shell 与权限相关章节时同步刷题,边学边打,命令行熟练度会提升得很快。

课程资源清单

资源类型 说明
课程网站 官方站点(decal.ocf.berkeley.edu),存放课程主页、每周讲义与作业
课程视频 原版视频在课程官网发布;B 站有搬运版本(其中翻译版并不完整,只覆盖了前一部分内容),需要完整内容请以官网原版为准
课程教材 无指定教材,但每周的 lab 中自带足够的阅读材料,足以支撑深入细节
课程作业 见课程官网,按周提交

在 CS 自学指南中的定位与衔接建议

Sysadmin DeCal 在本仓库中位于"编程入门"大类的顶层条目,与 MIT-Missing-Semester 并置(见 mkdocs.yml)。把它的内容放进更宏观的自学路线上看:

  1. 入门期:如果你完全没有命令行经验,先用 DeCal(配 Bandit 练习)建立 Linux 使用基础;
  2. 工具期:已有一定基础后,用 MIT-Missing-Semester 补齐开发工具使用习惯,并配套本仓库 必学工具 下的 Vim、Git、Docker 等单点深度教程;
  3. 进阶期:学完本课后,可继续进入仓库中"操作系统""计算机网络""系统安全"等模块(DeCal 铺垫的服务、网络、权限、密钥等内容恰好是这些课的前置感性认识),或走向"机器学习系统"方向时把 CUDA 作为初体验。

一句话总结:Sysadmin DeCal 是零基础学习者进入 Linux/系统管理员世界性价比很高的一扇门——门槛低、内容系统、作业强制动手,配合 Bandit 即可在无 UCB 账号的情况下完整走完,值得作为你自学路线图上编程入门的"动手第一课"。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.74 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
897
5.81 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
595
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
920
1.84 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.63 K
1.02 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.02 K
518
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
547
389