共 17 节,按顺序
- 120 分钟
Shell 与初识命令
欢迎。如果你从来没用过终端,那你来对地方了。终端是一个窗口,你在里面靠敲字跟计算机对话。你敲一条命令,按回车,计算机就把答案敲回来。上完这一课,你会跑过五条真实的命令,屏幕上那一大片文字也就没那么吓人了。我们不赶时间。
TerminalShellPromptFirst commandsMan pages - 225 分钟
文件系统与导航
上一课你跑了几条命令,读了它们的输出,但一步都没挪动过。你敲的每一条命令都发生在同一个位置上。这就要变了,因为 Linux 把机器上的每个文件和文件夹,不管它属于系统、属于某个应用程序,还是属于你,都放在同一个结构里。这里没有"C 盘",也没有"D...
Filesystem treeLsCdHidden filesAbsolute vs relative paths - 330 分钟
文件与权限
你现在已经能在文件系统里找到路了,但到目前为止你只是查看那些本来就存在的文件。真正的工作意味着创建文件、往里面填内容、复制和重命名它们,最后再把不需要的删掉。而且,只要一台机器上不止一个人或者不止一个程序在用,紧跟着第一个问题的第二个问题就来了:对某个文件来说,谁才被允许做这些事?本课把这两个问题一...
TouchCatCpMvRmMkdir+4 - 430 分钟
文本工具:grep、sed、awk
Linux 系统上几乎一切都是文本。配置文件是文本。日志是文本。机器上所有用户的名单是一个文本文件。命令的输出是文本。这是有意为之的设计,不是巧合,而它意味着有一项技能到处都用得上:能在文本里搜索,把它裁剪成你关心的那部分,再改动它,而不必为了一个上万行的文件去打开笨重的编辑器。用眼睛翻一份巨大的日...
GrepSedAwkHeadTailWc+2 - 525 分钟
管道(Pipes)与重定向
上一课里你几乎是顺手就用 | 搭起了几条小流水线,把一个文本工具的输出送进另一个。现在该慢下来,看看这个字符到底在干什么,因为它并不是专为 grep 和 awk 准备的特殊语法。你在 Linux...
PipesStdoutStderrStdinRedirectionTee - 630 分钟
进程与信号
敲一条命令按下回车,总得有个实实在在跑起来的东西去执行它。那个东西就是进程(process),也就是操作系统给"正在执行中的程序"起的名字。一台 Linux...
PsTopHtopKillSignalsForeground+3 - 725 分钟
用户和组
到目前为止你运行的每一条命令,都是以某一个特定账户的身份运行的,却从没有人问过你是谁。但 Linux 从第一天起就是为共享而设计的: 许多人,或者许多无人值守的服务,同时使用同一台机器,各自有各自的文件,也各自有各自能碰什么的限制。本课把这种共享摆到明面上来。学完之后,你会清楚地知道自己在一台...
WhoamiIdSudo/etc/passwdUseraddAdduser+2 - 825 分钟
包管理
有人跟你说"装个 htop 就行了"。在 Windows 或者 Mac 上,你得去找一个网站,下载安装程序,一路点下去,然后祈祷自己拿到的是正版。在 Linux 上你敲一行命令,三秒钟它就在那儿了,来源真伪已经验过,路径也已经配好,它依赖的每一个库都替你一并装上。这个差别是 Linux...
AptDpkgApt searchApt showDnfPacman - 930 分钟
网络基础
“站点挂了。”你打开一看,从自己的笔记本电脑访问一切正常,从服务器上却不行。两台机器之间的某个环节出了问题,而“网络”是个大得没边的地方。好消息是,几乎每个网络问题都归结为四个问题之一,而每个问题都有一条命令能回答。本课就给你这几条命令。它讲的是怎么读懂网络,而不是怎么配置网络,事实证明前者更难,也...
Ip aIp routePortsSsCurlWget+4 - 1035 分钟
Shell 脚本编程
你摸索出了一串六条命令的操作,能干一件有用的事:检查一个目录,建一个文件夹,复制几个文件,打印一份小结。它管用。明天你还需要它,于是凭记忆重新敲一遍,结果有一个实参敲错了。脚本就是把这串操作写下来一次,放进一个文件里,让机器每次都替你完美地重敲一遍。这里没有新语言要学。一个 shell...
ShebangVariablesIfForWhileCommand substitution+2 - 1135 分钟
systemd 服务
你写了个能用的脚本。运行它,它把活干完,然后你一关终端,它就跟着会话一起死了。你希望它在机器开机时自动启动,崩溃后能自己回来,还能把输出写到某个你以后能翻看的地方。手工做到这些,工作量大得出人意料。而交给 systemd,大约十二行配置就够了,现代 Linux...
SystemctlUnit filesEnableStartStopStatus+1 - 1230 分钟
SSH 与远程访问
你真正要用的那台机器在别处。可能是数据中心里的一台服务器,可能是云上的一台虚拟机,也可能是某人桌子底下的一台构建机。你需要在它上面开一个终端外壳,需要在它和本地之间来回传文件,而且这些都得通过一条谁都可能在偷听的网络来做。SSH(Secure...
SshSsh-keygenAuthorized_keysSsh-copy-idScpSsh config - 1325 分钟
日志与记录
昨天还好好的服务,今天不干活了。谁都没动过任何东西,至少大家都这么说。你可以对着配置文件盯上一个小时,也可以去读机器在出问题的那段时间里自己记下来的东西。Linux 会记录关于自身的海量信息,而一个五分钟就修好的运维和一个猜了一下午的运维,差别几乎全在于知不知道这份记录在哪儿、怎么把它收窄。
/var/logSyslogJournaldJournalctlLog rotation - 1430 分钟
磁盘与存储
“No space left on device.”(设备上已无剩余空间。)服务停止写入,数据库拒绝连接,下游的一切跟着倒下,全都是因为某个你听都没听过的目录悄悄长大了。存储这类故障,在把所有警告一次性砸到你脸上之前,一声不响。掌握四条命令,就能把这种危机变成五分钟的排查,而等你需要接一块新磁盘时,...
DfDuLsblkPartitionsFilesystemsMount+2 - 1525 分钟
Cron 与定时任务
你写了个备份脚本,跑得漂亮极了,直到某天晚上你忘了跑它。服务器例行要做的事几乎都是这个样子:半夜轮转日志,每五分钟刷新一次缓存,周一早上发一封报表邮件。这些事没有一件难,可只要靠人去记,就全都会出岔子。Linux 从上世纪七十年代起就有一个调度器专门干这个,名字叫...
CrontabCron fields@daily@reboot/etc/cron.dailySystemd timers - 1630 分钟
性能与监控
有人发消息给你:「服务器感觉很慢。」你拿到的就这么一句。慢可能是某个进程失控,可能是内存耗尽,可能是磁盘跟不上,也可能是网络问题伪装成了上面三种。这时候人很容易凭猜测去重启一堆东西。另一条路是敲五条命令,三十秒内就能知道到底是哪一种。这一课要教的就是心平气和地读这些数字,因为只要有人讲清楚它们在数什...
UptimeLoad averageFreeVmstatIostatHtop+1 - 1760 分钟
顶点项目:服务器配置
到目前为止,每次讲的都是一个知识点。真实工作从来不是一次只有一个知识点。有人扔给你一台光秃秃的 Ubuntu 机器,说一句"把站点弄起来,另外确保我们有备份",你要做的就是把十几件你已经会的小事拼成一个没人盯着也能一直跑下去的东西。这一课干的就是这件事。这里没有任何新知识。新的地方在于,这些零件必须...
Sudo userSsh keysNginxSystemd timerBackupsJournalctl
用你的语言学习 Linux
每一节课、测验和导师回复都以你的语言显示。AI 导师会用你提问的语言来回答。
Roles that use Linux
See how hiring teams interview engineers on Linux, in production-like environments.
DevOps Engineer
Hire DevOps engineers who actually ship. Run live or take-home interviews in production-like Linux environments with Docker, Kubernetes, Terraform and CI/CD. See how they debug, automate, and work alongside AI.
See the interviewSite Reliability Engineer (SRE)
Hire SREs who actually run production. Live workspaces with metrics, logs, traces and a service that is starting to misbehave. We record every keystroke.
See the interviewInfrastructure Engineer
Hire infrastructure engineers who design systems your team can rely on. Interview them in real workspaces with Terraform, Ansible, cloud APIs and live failure scenarios.
See the interview