九号工具站
返回列表

QA 必学 Linux 指令实战指南:Log 分析、伺服器除错、效能监控一次搞定

QA 工程师必备的 Linux 指令完全教学,涵盖 Log 分析、伺服器除错、效能监控、档案操作等实际测试场景,附可直接套用的指令范例。

Linux QA Log 分析 服务器 调试 效能监控 Shell

最后更新:2026-05-24

1. QA 为什么要学 Linux?

大部分的 Web 和 App 后端都跑在 Linux 伺服器上。当测试中遇到 500 错误、效能异常、或难以重现的 Bug 时,如果你能自己 SSH 进伺服器查 Log,就不需要开 ticket 等后端帮你查。这个能力的差距在日常工作中非常明显。

  • Log 分析:自己查错误日志,30 秒定位 Bug 根因
  • 环境排查:确认测试环境的服务是否正常运行、设定是否正确
  • 效能监控:测试执行时即时监控 Cpu、记忆体、磁碟使用状况
  • 档案操作:在伺服器上寻找、查看、比较设定档和资料档案
  • 部署验证:部署后确认新版本已上线、服务已重启

2. 连线与基本导航

首先你需要能连上伺服器并在里面移动。

  • Ssh 连线:Ssh Username@Server-Ip → 连上测试伺服器。通常 Qa 会拿到测试环境的 Ssh 帐号
  • 查看当前位置:Pwd → 显示你现在在哪个目录
  • 列出档案:Ls -La → 列出所有档案(含隐藏档),显示权限、大小、修改时间
  • 切换目录:Cd /Var/Log → 移动到 Log 目录。 Cd .. 回上一层、Cd ~ 回家目录
  • 查看磁碟空间:Df -H → 确认磁碟是否满了(磁碟满是常见的伺服器异常原因)

小提示

  • 按 T​​ab 键可以自动补全档案名称和路径,省很多打字时间
  • 按上下方向键可以查看历史指令,不用每次重新打

3. Log 分析:QA 最高频使用场景

Log 分析是 QA 用 Linux 最常做的事。以下指令按使用频率排列。

  • 即时看 Log:Tail -F /Var/Log/App.Log → 即时显示最新的 Log,测试时开着这个视窗,操作的同时就能看到后端反应
  • 搜寻错误:Grep 'Error' /Var/Log/App.Log → 找出所有包含 Error 的行。 Grep -I 'Error' 不区分大小写
  • 搜寻特定时间:Grep '2026-05-24 14:' /Var/Log/App.Log → 找出特定时间段的 Log
  • 搜寻前后文:Grep -B 5 -A 5 'Nullpointerexception' /Var/Log/App.Log → 找到错误并显示前后各 5 行,帮助理解错误上下文
  • 统计错误次数:Grep -C 'Error' /Var/Log/App.Log → 计算 Error 出现了几次
  • 看最新的 N 行:Tail -100 /Var/Log/App.Log → 看最后 100 行 Log
  • 组合搜寻:Grep 'Error' /Var/Log/App.Log | Grep 'Payment' → 找出跟 Payment 相关的 Error

小提示

  • 测试前先执行 tail -f log 开着即时监控,操作时同步观察 Log 输出,能第一时间发现问题
  • 回报 Bug 时附上相关的 Log 片段(用 grep 过滤后),开发者修 Bug 的速度会快很多

4. 服务状态检查与除错

测试环境不稳定时,先确认服务是否正常运行。

  • 查看服务状态:Systemctl Status Nginx → 确认 Nginx 是否在运行。也适用于其他服务如 Mysql、Redis
  • 查看运行中的程序:Ps Aux | Grep Java → 找出所有 Java 相关的程序,确认 App Server 是否在跑
  • 查看 Port 使用:Netstat -Tlnp 或 Ss -Tlnp → 确认服务监听的 Port 是否正确(例如 8080、3306)
  • 测试连线:Curl -I Http://Localhost:8080/Health → 从伺服器内部测试 Api 是否回应正常
  • Docker 容器状态:Docker Ps → 列出所有运行中的容器。 Docker Logs Container_Name → 查看容器 Log
  • 重启服务(需权限):Sudo Systemctl Restart App-Service → 测试环境有问题时可以尝试重启

5. 效能监控:测试时即时观察

执行效能测试或压力测试时,需要同时监控伺服器的资源使用状况。

  • 即时资源监控:Top 或 Htop → 即时显示 Cpu、记忆体使用率和各程序的资源消耗。 Htop 的介面更友善
  • 记忆体使用:Free -H → 查看记忆体总量、已用、可用。 -H 用人类可读的单位显示
  • Cpu 资讯:Nproc → 查看 Cpu 核心数。 Uptime → 查看系统负载
  • 磁碟 I/O:Iostat → 查看磁碟读写速度。如果磁碟 I/O 很高,可能导致系统变慢
  • 网路流量:Iftop 或 Nethogs → 即时监控网路流量。压力测试时确认频宽是否成为瓶颈
  • 查看大档案:Du -Sh /Var/Log/* | Sort -Rh | Head -10 → 找出最大的 10 个 Log 档案,可能需要清理

小提示

  • 压力测试时开三个终端视窗:一个跑 top 看 CPU/记忆体、一个跑 tail -f 看 Log、一个执行测试指令
  • 如果 CPU 使用率长期超过 80% 或记忆体使用率超过 90%,要在测试报告中标记

6. 档案操作与比较

在伺服器上查找和比较档案的常用指令。

  • 找档案:Find /Var/Log -Name '*.Log' -Mtime -1 → 找出最近 1 天内修改过的 Log 档案
  • 搜寻档案内容:Grep -R 'Database_Url' /Etc/App/ → 在整个目录中搜寻包含特定关键字的档案
  • 查看档案:Cat Config.Yml → 查看整个档案。 Less Config.Yml → 分页查看大档案(按 Q 退出)
  • 比较档案:Diff Config_Old.Yml Config_New.Yml → 比较两个设定档的差异,确认部署后设定是否正确更新
  • 档案大小:Ls -Lh /Var/Log/App.Log → 查看档案大小。 Wc -L App.Log → 计算行数
  • 压缩的 Log:Zgrep 'Error' /Var/Log/App.Log.Gz → 直接搜寻压缩过的 Log,不需要先解压

7. QA 日常工作中的指令组合技

单一指令的威力有限,组合使用才是高效的关键。以下是 QA 最实用的组合技。

  • 找出今天所有错误并统计:Grep '2026-05-24' App.Log | Grep 'Error' | Awk '{Print $Nf}' | Sort | Uniq -C | Sort -Rn → 找出今天的错误并按类型统计次数
  • 监控 Api 回应时间:Tail -F Access.Log | Awk '{Print $Nf}' → 即时显示每个 Request 的回应时间
  • 找出最常出错的 Api:Grep 'Http/1.1" 5' Access.Log | Awk '{Print $7}' | Sort | Uniq -C | Sort -Rn | Head -10 → 找出回传 5Xx 最多的 Api 端点
  • 部署前后 Log 比对:先存部署前的 Log 行数 Wc -L App.Log,部署后用 Tail -N +旧行数 App.Log 只看新增的 Log
  • 快速判断伺服器健康:Uptime && Free -H && Df -H → 一行指令看完负载、记忆体和磁碟三大指标

8. 学习路线:两周上手

按以下顺序学习,两周后你就能自在地在 Linux 伺服器上工作。

  • Day 1-3:Ssh 连线 + Cd/Ls/Pwd + Cat/Less/Tail → 能连上伺服器并看档案
  • Day 4-7:Grep + Tail -F + Ps + Docker Ps → 能搜寻 Log 和检查服务状态
  • Day 8-10:Top/Free/Df + Curl + Netstat → 能监控资源和测试连线
  • Day 11-14:管道(|)组合 + Find + Diff → 能做进阶搜寻和比较
  • 练习方式:每次遇到需要查 Log 或检查环境的场景,强迫自己用 Linux 指令,而不是请后端帮查

小提示

  • 在本地电脑的 Terminal 练习就好(Mac 和 Linux 指令一样),不需要特别架伺服器
  • 建立一个自己的「常用指令笔记」,记下每个指令的用途和范例,忘记时随时查

重点整理

  • 1 会 Linux 的 QA 能自己看 Log 找 Bug 根因,不需要等后端帮查
  • 2 本指南按 QA 实际工作场景分类,每个指令都有具体的使用情境
  • 3 从 Log 搜寻到效能监控,涵盖 QA 最常用的 30+ 个 Linux 指令
  • 4 掌握这些指令后,你在后端和 DevOps 团队眼中的专业度会大幅提升
ℹ️

一般声明

本站提供之资讯仅供参考,不保证其完整性与正确性。使用者应自行判断资讯之适用性。

意见反馈