我一度以为自己记不住命令是因为用得少。后来发现不是——是因为我记的顺序不对。
大部分速查表按字母表排,a 开头的排第一。但出事的时候,你脑子里想的是「端口被谁占了」,不是「i 开头的命令有哪些」。
按场景分组,不按字母表
重做的第一件事是把表拆成五个场景,每个场景只放 3~5 条:
① 文件在哪
find / -name "*.conf" 2>/dev/null # 全盘找配置
du -sh /var/log/* # 看谁把盘吃满了
② 谁占了端口
ss -lntp # 监听中的端口 + 进程
lsof -i :80 # 精确查某个端口
③ 进程还活着吗
ps aux | grep nginx
systemctl status nginx
journalctl -u nginx -n 50 --no-pager # 最近 50 行日志
④ 磁盘和内存
df -h # 分区使用率
free -h # 内存
⑤ 权限和 SELinux
ls -lZ # 连 SELinux 上下文一起看
chcon -t httpd_sys_content_t -R /var/www # 静态站放行
最后这条救过我两次。403 的时候先看权限,再看 SELinux,最后才怀疑 Nginx 配置——顺序错了会浪费一晚上。
三个反直觉的点
2>/dev/null不是可选项:find /会刷出几百行权限报错,把真正结果埋掉。ss比netstat快,而且新系统里netstat可能根本没装。journalctl -n 50比tail -f稳,-f挂着等,-n直接给你答案。
速查卡的价值不在于「不用背」,而在于出事时手不抖。
维护方式
纸打印出来贴在显示器边上,发现一条新的就手写补上。三个月后重新排版一次,把用不上的删掉——一张会删东西的表才活着。
电子版我存在自己博客的「工具·效率」里,方便手机上看。