九號工具站
返回列表

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 → 確認磁碟是否滿了(磁碟滿是常見的伺服器異常原因)

小提示

  • 按 Tab 鍵可以自動補全檔案名稱和路徑,省很多打字時間
  • 按上下方向鍵可以查看歷史指令,不用每次重新打

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 團隊眼中的專業度會大幅提升
ℹ️

一般聲明

本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。

意見反饋