一、软件测试高频Linux命令分类速查
1. 文件与目录操作
命令 | 作用 | 示例 |
---|---|---|
ls | 查看目录内容 | ls -l (详细列表)ls -a (含隐藏文件) |
cd | 切换目录 | cd /var/log (进入日志目录) |
pwd | 显示当前路径 | pwd |
cat | 查看文件内容 | cat config.yml |
grep | 文本搜索(测试日志过滤) | grep "ERROR" app.log |
find | 文件查找 | find /home -name "*.log" |
chmod | 修改权限 | chmod 755 script.sh (赋权可执行) |
2. 进程与系统监控
命令 | 作用 | 测试场景 |
---|---|---|
ps | 查看进程 | ps -ef | grep java (查Java进程) |
top | 实时系统监控 | top (观察CPU/内存占用) |
kill | 终止进程 | kill -9 1234 (强制终止PID 1234) |
netstat | 网络连接检查 | netstat -tuln (查看端口占用) |
lsof | 查看文件占用 | lsof -i :8080 (查8080端口进程) |
3. 日志分析与文本处理
命令 | 作用 | 测试用途 |
---|---|---|
tail | 查看文件尾部 | tail -100 app.log (看最后100行) |
head | 查看文件头部 | head -20 data.csv (预览数据文件) |
awk | 文本分析 | awk '{print $1}' log.txt (提取第一列) |
sed | 文本替换 | sed 's/foo/bar/g' file.txt (全局替换) |
wc | 统计行数 | wc -l error.log (统计错误日志行数) |
二、动态查看日志的核心命令 🔥
1. tail -f
(实时追踪日志更新)
bash
复制
tail -f /var/log/nginx/access.log # 实时监控Nginx访问日志
-
场景:测试环境监控请求流量、追踪接口调用链
-
组合技:
bash
复制
tail -f app.log | grep "Timeout" # 过滤含"Timeout"的关键日志
2. less +F
(实时滚动查看并支持交互)
bash
复制
less +F debug.log # 进入实时模式(按Ctrl+C退出跟踪,Shift+F恢复)
-
优势:支持翻页、搜索(输入
/Error
查找错误)
3. multitail
(高级工具,分屏监控多日志)
bash
复制
multitail -i service1.log -i service2.log # 同时监控两个日志文件
-
安装:
sudo apt install multitail
(Debian系) -
测试场景:微服务架构下的跨服务日志关联分析
三、测试工程师的进阶技巧
-
日志时间范围筛选
bash
复制
sed -n '/2023-10-01 14:00/,/2023-10-01 15:00/p' app.log # 提取指定时间段日志
-
压测时监控系统资源
bash
复制
watch -n 1 "free -m && top -bn1 | grep Cpu" # 每秒刷新内存和CPU使用
-
快速定位错误上下文
bash
复制
grep -C 5 "NullPointerException" app.log # 显示异常前后5行上下文
四、为什么测试要掌握这些命令?
-
精准定位缺陷:通过日志快速复现场景,如接口超时、数据异常
-
环境问题排查:检查端口占用、进程状态、权限配置
-
自动化测试集成:在Shell脚本中调用命令分析测试结果
附:命令速记脑图
复制
高频命令 ├── 文件操作(ls/cd/cat/grep) ├── 进程监控(ps/top/kill) ├── 网络调试(netstat/curl) └── 日志分析(tail -f/awk/sed)
建议搭配实际测试场景练习,例如用tail -f
监控自动化测试执行时的日志流。