1. 测试面试常问 Linux 命令怎么准备
测试工程师准备 Linux 命令,千万不要把方向学偏。面试官通常不是想招一个运维,也不是要求你能独立维护一套复杂生产集群,而是想判断你在测试环境里能不能完成最基本的问题定位:服务是不是启动了,端口有没有监听,日志里有没有异常,配置文件有没有改对,测试数据文件在哪里,自动化脚本为什么执行失败,部署后的接口为什么访问不了。
很多同学背了一堆命令,比如 ls、cd、pwd、cat、grep、ps、top,但面试时一问“接口 500 你怎么查”“服务访问不了你怎么定位”“日志太大你怎么看最近 100 行”,就答得很散。Linux 面试的重点不是命令数量,而是命令背后的测试场景。你要把命令和实际问题绑定起来讲,才能让面试官相信你真的用过。
一、测试为什么必须会 Linux
企业项目大多数服务都部署在 Linux 环境。即使你平时主要做功能测试、接口测试或自动化测试,也经常需要登录测试服务器看日志、查服务、确认端口、修改配置、上传文件、执行脚本。如果你完全不会 Linux,每次遇到环境问题都只能等开发或运维,测试效率会很低。
测试常见 Linux 使用场景包括:
- 接口报 500,需要查看服务日志;
- 页面访问失败,需要确认服务是否启动;
- 接口连接拒绝,需要检查端口是否监听;
- 自动化脚本失败,需要查看执行目录和依赖文件;
- 测试环境部署后,需要检查配置文件是否生效;
- 上传测试数据文件,需要确认路径和权限;
- 服务响应慢,需要初步观察 CPU、内存和磁盘情况。
所以测试学 Linux 的目标很明确:会查、会看、会定位、会表达。
二、目录和文件命令怎么准备
基础命令不用死背,但要能说出使用场景。
pwd 用来确认当前路径。很多脚本执行失败是因为目录不对,先看当前目录很重要。
ls -l 用来看文件列表、权限、大小和修改时间。比如你上传了配置文件,但服务没生效,可以先看文件是否真的上传到目标目录。
cd 用来切换目录。面试里不用讲太多,但要知道相对路径和绝对路径。
cp、mv、rm 分别用于复制、移动、删除。测试环境操作删除命令要谨慎,尤其是 rm -rf,面试时可以主动说生产环境不会随便删除文件,测试环境也要确认路径。
mkdir 用来创建目录,touch 可以创建空文件或更新时间。
面试可以这样讲:
我平时会用
pwd确认当前目录,用ls -l查看文件权限、大小和修改时间,用cd切换到日志或配置目录。如果需要备份配置,会先用cp复制一份,再修改配置,避免改错后无法恢复。
三、查看文件和日志命令
测试最常用的是查看日志。常见命令包括 cat、less、tail、head、grep。
cat 适合看小文件,比如配置文件、启动脚本、简单日志。大文件不建议直接 cat,容易刷屏。
less 适合查看大文件,可以上下翻页,也可以搜索关键字。
tail -f 是测试查实时日志最常用命令。比如你调用接口前先打开日志:
tail -f application.log
然后在页面或 Postman 里复现问题,看日志是否出现异常。
tail -n 100 application.log 可以查看最近 100 行日志。接口刚报错时,这个命令很实用。
grep 用来搜索关键字,比如:
grep "ERROR" application.log
grep "orderNo=NO10001" application.log
grep -n "Exception" application.log
测试定位时,不要只说“我看日志”,要说你看什么关键字:订单号、用户 ID、接口路径、错误码、异常堆栈、时间点。
四、进程和端口命令
服务访问不了时,第一步要确认服务是否启动,第二步确认端口是否监听。
ps -ef | grep java 可以查看 Java 服务进程。比如后端服务是 Spring Boot,就可以查是否有对应进程。
top 可以查看 CPU、内存占用,初步判断是否服务资源异常。
端口查看常用 netstat 或 ss。例如:
ss -lntp | grep 8080
netstat -lntp | grep 8080
如果端口没有监听,说明服务可能没启动或启动失败;如果端口监听了但接口访问不了,再看防火墙、网关、路径、服务日志或应用异常。
面试回答可以这样说:
如果测试环境接口访问不了,我会先确认域名或 IP 是否正确,再登录服务器用
ps看服务进程是否存在,用ss或netstat看端口是否监听。如果进程不存在,就看启动日志;如果端口监听但请求失败,再结合应用日志和接口路径继续排查。
五、权限命令怎么理解
Linux 权限是测试环境里很常见的问题。比如脚本无法执行、日志无法写入、上传文件后服务读取失败,都可能和权限有关。
ls -l 可以看到权限,比如:
-rwxr-xr-x 1 app app 1024 run.sh
r 表示读,w 表示写,x 表示执行。脚本如果没有执行权限,可能需要:
chmod +x run.sh
但测试人员不要随便给 777 权限。面试时可以说:
我知道
chmod 777虽然简单,但不安全。测试环境如果遇到权限问题,我会先确认文件所属用户和实际需要的权限,再按最小权限原则处理,必要时让运维或开发确认。
六、磁盘和资源命令
测试环境偶尔会出现磁盘满、日志写不进去、服务启动失败。
df -h 查看磁盘分区使用情况。
du -sh * 查看当前目录下各文件或目录大小。
free -m 查看内存。
top 查看 CPU 和内存占用。
如果接口突然大量失败,并且日志停止写入,可以检查磁盘是否满。如果压测时接口变慢,可以先看 CPU、内存是否异常,但最终还要结合应用监控、数据库、日志分析。
七、测试场景案例
场景 1:接口返回 500
处理思路:
- 记录接口请求时间、请求参数和用户账号;
- 登录服务器查看应用日志;
- 用
tail -n 200看最近日志; - 用
grep搜索订单号、用户 ID 或异常关键字; - 找到异常堆栈后截图或复制关键日志;
- 结合接口响应和日志提交 Bug。
场景 2:测试环境访问不了
处理思路:
- 确认 URL、域名、端口是否正确;
- 用
ps看服务是否启动; - 用
ss或netstat看端口是否监听; - 查看启动日志是否报错;
- 如果服务正常,再排查网关、配置、网络或防火墙。
场景 3:自动化脚本执行失败
处理思路:
- 用
pwd确认执行目录; - 用
ls -l确认文件是否存在; - 查看配置文件是否正确;
- 查看脚本执行日志;
- 确认权限和依赖是否满足。
八、面试回答模板
如果面试官问“测试常用 Linux 命令有哪些”,不要流水账式背命令,可以这样答:
我在测试中使用 Linux 主要是为了查日志、看服务状态、排查端口和处理测试文件。比如接口报 500 时,我会用
tail -f或tail -n查看实时日志和最近日志,用grep根据订单号、用户 ID、ERROR、Exception 等关键字定位异常。服务访问不了时,我会用ps -ef查看进程,用ss或netstat查看端口是否监听。遇到脚本执行失败,会用pwd、ls -l、chmod检查路径、文件和权限。如果环境响应慢,还会用top、free、df -h做初步判断。
这个回答比单纯列命令更有项目感。
九、常见追问
追问:日志很大怎么查?
可以用 tail -n 看最近日志,用 grep 搜索关键字,用 less 分页查看。不要直接 cat 大文件。
追问:服务访问不了怎么排查?
先确认地址和端口,再看进程是否存在、端口是否监听、启动日志是否报错,最后排查网络、网关或配置。
追问:权限不足怎么办?
先用 ls -l 查看权限和所属用户,再根据需要调整权限,不建议无脑 chmod 777。
十、练习清单
- 用
pwd、ls -l查看目录和文件; - 用
tail -f实时查看日志; - 用
grep ERROR搜索异常; - 用
ps -ef查看服务进程; - 用
ss -lntp查看端口; - 用
df -h查看磁盘; - 用
free -m查看内存; - 用
chmod +x给脚本执行权限; - 模拟接口 500 并整理日志证据;
- 准备一段 Linux 命令面试回答。
Linux 命令准备不在多,而在会用。你要把命令讲到测试场景里,把场景讲到问题定位里,这样面试才不会显得空。
配套刷题:

