news 2026/9/15 20:20:49

新手测试工程师的Linux:从连服务器到定位Bug,这么多就够了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手测试工程师的Linux:从连服务器到定位Bug,这么多就够了

相信很多新手跟我一样会问:测试又不是运维,为什么要学Linux?我学完之后发现,不会Linux,连Bug都查不了

一、测试人员为什么要学Linux?

刚开始学的时候我也疑惑:测试不是点点点吗,跟Linux有什么关系?

学完才明白,测试用Linux主要干两件事

用途说明
查日志定位Bug大部分服务端部署在Linux服务器上,报错了要去服务器看日志
搭建测试环境有些测试环境需要自己在Linux上部署服务

说白了,开发跟你说“服务器报错了,你去看看”,你不能说“我不会连服务器”吧?

二、实操:用Linux查日志定位Bug

下面是我模拟的一个场景,完整走了一遍“从连服务器到抓Bug”的流程。

场景设定:开发说测试服务器的应用报错了,让我去看看。

第1步:连上服务器

FinalShell等工具连上服务器,需要四个信息:

信息说明
IP地址服务器在哪
端口号通常SSH是22
账号登录用户名
密码登录密码

第2步:确认当前位置

连上之后,先输入:

pwd

作用:查看当前在哪个目录。

第3步:进入日志目录

cd /var/log

作用:切换到日志存放的目录。Linux的日志通常放在/var/log下。

第4步:查看有哪些日志文件

ls

作用:列出当前目录下所有文件。

第5步:实时查看日志

tail -f app.log

作用:实时滚动查看日志的最新内容。-f是 follow 的意思,会一直刷新。

💡为什么不用cat
生产环境的日志文件可能几十个G,直接cat会把整个文件读出来,终端直接卡死。tail -f只显示最新内容,安全又高效。

⚠️我踩过的坑

第一次用tail -f的时候,日志刷得飞快,我根本看不清哪一行是报错。而且我盯着看了好久,发现日志在刷,但报错只有最开始那几行,刷过去的全是重复的INFO信息。

后来我学乖了,两种做法:

  1. 先停掉实时刷新Ctrl + C退出,再用grep一次性抓

  2. 用管道过滤tail -f app.log | grep "ERROR",只显示ERROR级别的日志

第6步:退出实时查看

看到满屏都是没用的信息,按Ctrl + C退出。

第7步:精准抓取报错信息

grep "Exception" app.log

作用:从日志文件里专门把包含“Exception”的行抓出来。

也可以搜其他关键词:

grep "ERROR" app.log grep "NullPointerException" app.log
拿到报错之后,怎么判断问题在哪?

grep抓出来的报错,直接给开发或者自己也可以会先做三步判断:

第1步:看异常类型

异常关键词可能的原因
NullPointerException代码里某个对象是空的
TimeoutException请求超时,可能是网络或服务响应慢
SQLException数据库操作出问题了

第2步:看报错时间和频率

  • 是刚发生的,还是一直在报?

  • grep "ERROR" app.log | wc -l统计报错条数

第3步:看报错上下文

grep -A 5 -B 5 "Exception" app.log
  • -A 5:显示报错行后面5行

  • -B 5:显示报错行前面5行

很多时候,真正的错误原因藏在报错行的上一行或下一行,只看报错那一行反而看不出问题。

三、其他高频命令

除了查日志,还有几个命令测试也必须掌握:

3.1 查看系统进程

ps -ef | grep java

作用:查看所有进程,然后筛选出跟 java 相关的。

测试场景:怀疑服务没起来,可以用这个命令确认进程在不在。

3.2 查看端口占用

netstat -anptu | grep 8080

作用:查看端口占用情况。

测试场景:接口请求不通,可能是端口没开,用这个命令确认一下。

3.3 强制杀死进程

优先 kill 进程号,kill 无效再用 kill -9

kill -9 12345

作用:强制结束进程号为 12345 的进程。

测试场景:服务卡死了,进程关不掉,用-9强制杀掉。

3.4 查看服务器IP

ifconfig

或者:

ip addr

作用:查看服务器的IP地址。

四、Linux高频命令速查卡

命令作用测试场景
pwd查看当前目录连上服务器先确认位置
ls列出目录内容看有哪些日志文件
cd /var/log切换目录进入日志目录
tail -f app.log实时查看日志监控最新报错
grep "ERROR" app.log搜索关键词精准抓取报错信息
ps -ef | grep java查看进程确认服务是否在运行
netstat -anptu | grep 8080查看端口占用排查接口不通
kill -9 进程号强制杀进程服务卡死时使用
ifconfig查看IP地址确认服务器地址

口诀进目录、看日志、搜关键词、查进程、看端口、杀进程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 20:20:30

双AI协同系统如何提升学术论文写作效率

1. 双AI协同论文写作系统概述在学术研究领域,论文写作一直是耗时耗力的核心环节。传统写作流程中,研究者需要独自完成从数据分析到论文成稿的全过程,效率低下且容易陷入思维定式。近年来,以Claude Code和Codex为代表的大型语言模型…

作者头像 李华
网站建设 2026/9/15 20:19:18

美容整形网站建设避坑指南:5步图解步骤让流量翻倍

美容整形网站建设避坑指南:5步图解步骤让流量翻倍 别再用那些千篇一律的模板站了!做美容整形这一行,客户看脸,更看“信任感”。如果你的官网还停留在十年前的水平,图片模糊、排版拥挤、手机端打开全是乱码,那不仅丢单,更是在砸招牌。 模板网站太丑不够用 ,这不仅是视觉问题,更是转化率的杀手。…

作者头像 李华
网站建设 2026/9/15 20:19:13

数据中台与数据仓库:核心差异与适用场景解析

1. 数据中台与数据仓库的概念界定1.1 数据仓库的传统定位数据仓库(Data Warehouse)这个概念最早由Bill Inmon在1990年提出,本质上是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。我在金融行业做数据架构时,最典型…

作者头像 李华
网站建设 2026/9/15 20:16:42

OpenCV实战:Python构建答题卡识别系统,透视校正与填涂判读全解析

简介:基于Python计算机视觉的答题卡识别与判分毕业设计项目,面向计算机相关专业学生及CV入门开发者,解决纸质答题卡自动识别、判分与数据管理问题。资源内含完整源码、数据库脚本和说明文档,系统涵盖登录、首页、题卡识别、题卡管…

作者头像 李华
网站建设 2026/9/15 20:16:12

Zemax显微镜设计全流程:初始结构、优化与公差分析

显微镜设计在Zemax里是一个被很多人低估的课题。拿到一个显微镜项目,很多人的第一反应是打开Lens Data Editor,敲几个面,然后点Optimize,期待直接吐出一个能用的物镜——但大多数情况下,结果只会让你怀疑人生。显微镜看…

作者头像 李华