← 回目录
30 Week 06 · 最后一天

总演练:把三十天串成一段话

今天不敲命令,练怎么说。学会了但说不出来,等于没学。面试官不是在考你记住多少命令,是在判断你遇到问题有没有章法。

先看看你走过来的路

三十天前,你连 ls -l 那十个字符都读不懂。

现在你能独立修好一个起不来的服务、能三层排查网络不通、能在线扩容不停机、还写了一个每天自动跑的巡检脚本

四道必答题

每道准备一段 1 分钟的回答
一 · 「服务器变慢了,你怎么查?」

「先 top看 load average 跟 CPU 核数比——4 核机器负载超过 4 就是过载。然后看 %Cpu 那行:id 很低说明 CPU 打满了,wa 高说明瓶颈在磁盘 IO。」

「接着按 M 看内存排名,df -h 看磁盘是不是满了,ss -s 看连接数。」

加分句:「如果 CPU 不高但系统很卡,我会看有没有大量进程卡在 D 状态——那是在等磁盘,不是 CPU 的问题。

二 · 「一个服务起不来,你的排查顺序?」

systemctl status 看状态,顺便读它带出来的最后几行日志journalctl -xe 看详细报错 → 配置语法检查(nginx 用 nginx -t,会给出行号)→ ss -tunlp 看端口是不是被占了 → 最后查权限和 SELinux。」

加分句:「失败原因九成能归到三类:配置语法错、端口被占、权限或 SELinux 拦截。

然后讲 Day 14 那个故事:「我遇到过一次改完配置重启起不来,journalctl -xe 直接给出了文件名和行号,是少了个分号。后来养成习惯:改完配置一定先 -t 检查再 reload,避免线上真的中断。

三 · 「本机能访问,外面访问不了,怎么办?」

我分三层查,由内向外:

ss -tunlp 看服务监听的是 0.0.0.0 还是 127.0.0.1——如果是后者,外面永远连不上,得改服务配置,跟防火墙没关系。

firewall-cmd --list-all 看防火墙放行没。注意 --permanent 之后必须 --reload 才生效。」

是云平台的安全组,那一层在系统之外,本地全放开也可能被它拦。」

加分句:「另外看报错也能判断方向——connection refused 说明包到了但没程序监听,timeout 说明包被中途丢了,八成是防火墙。

四 · 「你平时用什么发行版?为什么?」

Rocky Linux 9。CentOS 在 2024 年 6 月停止维护之后,主流替代方案是 Rocky 和 AlmaLinux,我选了 Rocky——它是 CentOS 原创始人做的,和 RHEL 二进制兼容,命令、配置、包管理完全一致,所以在 CentOS、RHEL 上的经验可以直接迁移。」

这个回答表明三件事:你知道行业变动、你懂红帽生态、你不是照着十年前的教程学的。

三个"内行细节"

找机会说出来
这些是分辨"背过"和"做过"的标记
磁盘满了但 du 对不上
「多半是有进程占着已删除的文件lsof | grep deleted 能查到,重启那个服务空间就回来了。」(Day 21)
LVM 扩容的最后一步
扩完 LV 还要扩文件系统——xfs 用 xfs_growfs,ext4 用 resize2fs。只做前面三步 df 里看不到变化。」(Day 23)
SELinux 怎么处理
先判断是不是它拦的——临时 setenforce 0 试,是的话用 restorecon 修标签或改布尔值。生产环境我不会直接 disable。」(Day 19)
还有两句"送命题"的正确答法

遇到权限问题会不会直接 chmod 777?」→ 不会,那是把问题盖住而不是解决,而且 SSH 密钥权限太开反而会失效。

SELinux 直接关掉吗?」→ 不会,那等于拆掉一层防御。

简历怎么写

别只写"熟悉 Linux"
把三十天变成简历上的三条
技能栈
「熟悉 Rocky Linux / RHEL 9:用户与权限管理、systemd 服务管理、journalctl 日志排查、firewalld 与 SELinux 配置、LVM 在线扩容、Shell 脚本。」
自动化经历
「编写服务器巡检脚本,检查磁盘、内存、负载、关键服务状态及 SSH 异常登录,通过 crontab 每日定时执行并输出告警日志。」
故障处理
「具备系统化排障能力:服务启动失败、端口冲突、权限与 SELinux 拦截、网络不通等常见故障的定位与修复。」
写简历的原则

写你能被追问的东西。简历上每一条,面试官都可能深挖——上面这三条你现在都真做过,问到细节答得出来。

反过来,别写「精通」,别写你只看过没做过的。

面试时的两个策略

比知识点更重要的事
永远往"排查顺序"上靠
被问到任何故障题,别急着报命令,先说「我的排查顺序是……」。有章法的回答,永远比零散的知识点有说服力。
不会就说不会,但要接一句
「这个我没实际做过,不过我的思路是……」或者「我会先查官方文档确认」。诚实 + 有思路 > 硬编——编错了会被当场戳穿,那才是致命的。

今天的任务

全部说出声 · 约 25 分钟
  • 四道必答题,每道对着手机录音说一遍,回放听听有没有卡壳
  • 三个"内行细节"各说一遍,确保能自然地插进对话
  • 把 Day 28 的巡检脚本按「背景 → 做法 → 效果 → 踩过的坑」讲一遍
  • 照着上面的模板,把简历上的三条真写出来
  • 最后:打开 目录页,从 Day 01 滚到 Day 30,看看三十天走了多远

接下来做什么

按优先级,不是清单
三十天之后
立刻 · 投简历
别等"学完了再投"。面试本身就是最好的摸底——被问倒的地方,就是你接下来该补的,比任何人给你排的清单都准。
第一优先 · Docker
现在运维岗最硬的门槛。有了 Linux 底子,大约两周能上手。学完你的可投岗位范围会明显变大。
第二优先 · Ansible
管十台以上机器就绕不开,一周能用起来。它能把你的巡检脚本从"一台机器"变成"一条命令扫全部"——故事的层次立刻不同。
第三 · 监控
传统企业看 Zabbix,互联网看 Prometheus + Grafana看你投的岗位 JD 里哪个出现得多。
暂缓 · K8s
学习曲线陡,没有实际容器经验硬啃很痛苦。等入职后有真实场景了再学,效率高得多。
最后一句

这三十天最大的收获不是记住了多少命令——命令忘了随时能查。

是你现在遇到问题时,手会自己去敲 systemctl status,脑子里会自动排出"先查什么再查什么"。

那个东西,才是运维。