📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
在软件测试工作中,Linux命令是定位缺陷、分析日志、监控系统的核心工具。本文从日志分析、文件操作、进程管理、网络调试等维度,整理测试工程师高频使用的Linux命令及实战场景,助力提升测试效率。
一、日志分析篇
1. 实时日志监控
# 查看实时日志(测试环境调试)
tail -f /var/log/app/error.log
# 过滤包含"ERROR"关键字的日志(定位错误)
tail -f app.log | grep "ERROR"
# 查看最近100行日志中的异常(快速排查)
tail -n 100 app.log | grep -C 5 "Exception" # 显示匹配行前后5行
2. 日志统计与过滤
# 统计错误出现次数(评估问题严重性)
grep -c "NullPointerException" app.log
# 按时间范围过滤日志(精确时间排查)
sed -n '/2024-03-01 14:00:00/,/2024-03-01 15:00:00/p' app.log
# 多条件过滤(复杂场景分析)
cat app.log | grep "ERROR" | grep -v "Timeout" # 包含ERROR但不含Timeout
二、文件操作篇
1. 文件搜索与处理
# 查找所有扩展名为.log的文件(定位日志文件)
find /opt/app/logs -name "*.log"
# 批量重命名测试文件(数据准备)
rename 's/test_/prod_/' test_*.csv
# 快速创建大文件(性能测试数据生成)
dd if=/dev/zero of=test.data bs=1M count=1024 # 生成1GB文件
2. 文件内容操作
# 对比两个测试结果文件(验证接口一致性)
diff -u result_v1.txt result_v2.txt
# 提取CSV文件第3列(测试数据清洗)
awk -F ',' '{print $3}' test_data.csv
# 替换配置文件参数(环境切换)
sed -i 's/host=dev/host=test/' config.properties
三、进程管理篇
1. 进程监控与操作
# 查看Java进程(定位测试服务)
ps -ef | grep java
# 强制终止进程(卡死服务处理)
kill -9 1234
# 查看进程资源占用(性能问题分析)
top -p 1234
2. 线程级分析
# 查看Java线程栈(死锁分析)
jstack 1234 > thread_dump.txt
# 监控线程数变化(并发测试)
watch -n 1 "ps -eLf | grep app | wc -l"
四、网络调试篇
1. 网络状态检查
# 查看端口监听状态(服务是否启动)
netstat -tuln | grep 8080
# 实时监控TCP连接(压测期间观察)
watch -n 1 "netstat -ant | awk '{print \$6}' | sort | uniq -c"
# 路由跟踪(网络问题排查)
traceroute api.example.com
2. HTTP接口测试
# 快速接口测试(验证服务可用性)
curl -X POST http://localhost:8080/api/login -d '{"user":"test"}'
# 下载测试文件(大文件下载验证)
wget -O test.zip http://download.example.com/largefile.zip
# 限速下载测试(弱网模拟)
wget --limit-rate=100k http://example.com/file
五、系统监控篇
1. 资源监控
# 实时监控CPU/内存(性能测试期间)
htop
# 磁盘空间检查(日志文件清理预警)
df -h
# I/O监控(数据库性能分析)
iostat -x 2
2. 网络流量监控
# 实时流量监控(压测网络瓶颈定位)
iftop -i eth0
# 抓包分析(接口协议调试)
tcpdump -i eth0 port 8080 -w capture.pcap
六、权限与用户管理
1. 文件权限控制
# 添加执行权限(自动化脚本授权)
chmod +x test_script.sh
# 递归修改目录权限(测试环境部署)
chmod -R 755 /opt/app
2. 用户与组管理
# 创建测试专用用户
useradd tester -m -s /bin/bash
# 给用户添加sudo权限(测试环境操作)
usermod -aG sudo tester
七、环境管理篇
1. 环境变量操作
# 临时设置环境变量(测试配置覆盖)
export DB_HOST=testdb.example.com
# 查看所有环境变量(环境问题排查)
env | grep DB_
2. 容器化测试环境
# 查看Docker容器日志(容器化应用测试)
docker logs -f app_container
# 进入容器调试(测试环境诊断)
docker exec -it app_container /bin/bash
八、实用小工具
1. 文本处理
# 统计行数/词数(测试结果验证)
wc -l report.csv
# 随机生成测试数据(Mock数据生成)
shuf -n 1000 users.csv > sample_data.csv
2. 时间操作
# 计算命令执行时间(性能基准测试)
time curl -s http://localhost:8080/api/ping
# 转换时间戳(日志时间解析)
date -d @1712345678 "+%Y-%m-%d %H:%M:%S"
九、测试场景命令速查表
测试场景 | 常用命令组合 |
接口响应慢 | curl -o /dev/null -s -w "%{time_total}\n" [URL] |
内存泄漏排查 | jmap -histo:live <pid> > heap.txt |
大文件传输测试 | rsync -avz --progress src/ user@host:/dest/ |
服务启动检查 | systemctl status app.service |
批量杀死进程 | ps -ef | grep app | awk '{print $2}' | xargs kill -9 |
十、进阶技巧
1. 管道符组合命令
# 分析日志中高频错误(TOP 10错误类型)
cat app.log | grep "ERROR" | awk '{print $5}' | sort | uniq -c | sort -nr | head -n 10
2. 定时任务(Cron)
# 每天凌晨清理7天前日志
0 0 * * * find /var/log/app -name "*.log" -mtime +7 -exec rm {} \;
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】