一、文件系统操作:精准定位测试资源
1.1 基础文件操作命令
ls命令是文件系统探索的起点,通过ls -l可查看详细权限信息,ls -a显示隐藏文件。测试人员常用ls -lh组合,以人类可读格式显示文件大小。例如:
ls -lh /var/log/ # 查看日志目录文件大小分布
find命令支持复杂条件搜索,测试场景中常用于定位测试数据文件:
find /data/test -name "*.csv" -size +10M # 查找大于10MB的CSV测试文件
grep命令在日志分析中不可或缺,配合正则表达式可快速提取关键信息:
grep -E "ERROR|WARN" /var/log/app.log | less # 过滤错误日志
1.2 高级文件处理技巧
xargs命令可将前序命令输出作为参数传递,实现批量操作:
find /tmp -name "*.tmp" | xargs rm -f # 批量删除临时文件
rsync命令支持增量同步,在持续集成环境中实现测试环境快速部署:
rsync -avz --exclude='*.log' /source/ /dest/ # 排除日志文件的同步
二、进程管理:实时监控系统状态
2.1 进程查看与控制
ps命令是进程监控的基础工具,ps aux | grep java可快速定位Java测试服务进程。更推荐使用htop工具(需安装)提供交互式监控界面。
kill命令用于终止异常进程,测试人员需掌握信号控制:
kill -9 1234 # 强制终止PID为1234的进程kill -15 5678 # 优雅终止进程(推荐先尝试)
2.2 资源监控组合拳
top命令实时显示系统资源占用,按1可查看各CPU核心使用情况。配合vmstat 1 5可获取5次间隔1秒的系统性能快照。
df -h显示磁盘空间使用情况,du -sh *统计目录占用空间。测试环境磁盘清理常用组合:
du -sh /var/log/* | sort -rh | head -10 # 找出占用最大的10个日志文件
三、日志分析:问题定位利器
3.1 日志切割与归档
logrotate是系统日志管理工具,通过配置文件实现日志自动轮转:
/var/log/app/*.log {dailyrotate 7compressmissingoknotifempty}
测试人员需掌握tail -f实时追踪日志,配合grep过滤关键信息:
tail -f /var/log/nginx/access.log | grep "404" # 实时监控404错误
3.2 高级日志分析技巧
awk命令可实现复杂日志统计,例如统计HTTP状态码分布:
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
journalctl命令(Systemd系统)提供统一日志查询接口:
journalctl -u nginx --since "1 hour ago" --no-pager # 查询nginx最近1小时日志
四、网络诊断:保障测试环境连通性
4.1 基础网络工具
ping命令测试网络连通性,ping -c 4 example.com发送4个探测包。traceroute可显示数据包传输路径。
netstat命令查看网络连接状态,netstat -tulnp显示所有监听端口及对应进程。新系统推荐使用ss命令替代:
ss -tulnp | grep 8080 # 查看8080端口占用情况
4.2 高级网络调试
tcpdump是网络抓包神器,测试人员常用命令:
tcpdump -i eth0 port 80 -nn -X # 抓取80端口HTTP流量tcpdump -w capture.pcap host 10.0.0.1 # 保存抓包数据
curl命令模拟HTTP请求,配合-v参数显示详细交互过程:
curl -v -X POST http://api.example.com/test \-H "Content-Type: application/json" \-d '{"key":"value"}'
五、实战案例:综合命令应用
5.1 性能测试环境准备
# 1. 创建测试用户并设置权限useradd -m testuser && passwd testuserchown -R testuser:testuser /data/test# 2. 配置SSH免密登录ssh-keygen -t rsassh-copy-id testuser@test-server# 3. 部署测试工具scp -r /local/tools/ testuser@test-server:/opt/ssh testuser@test-server "chmod +x /opt/tools/*.sh"
5.2 自动化测试脚本示例
#!/bin/bash# 测试环境健康检查脚本LOG_FILE="/tmp/health_check.log"TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S"){echo "===== $TIMESTAMP ====="echo "1. 磁盘空间检查:"df -h | grep -v "tmpfs"echo -e "\n2. 内存使用情况:"free -mecho -e "\n3. 关键服务状态:"systemctl is-active nginx mysql redisecho -e "\n4. 最近10条错误日志:"journalctl -u nginx --since "30 minutes ago" --no-pager | grep -i error | head -10} >> $LOG_FILEmail -s "测试环境健康报告" admin@example.com < $LOG_FILE
六、进阶学习建议
- 命令组合练习:尝试将多个命令通过管道(
|)连接,实现复杂数据处理 - 脚本编写:将常用操作封装为Shell脚本,提升工作效率
- 性能调优:学习
iostat、sar等性能监控工具 - 安全实践:掌握
sudo权限管理,避免使用root账户操作
掌握这些Linux核心命令后,测试人员可独立完成测试环境搭建、问题定位和性能分析等工作。建议每天实践3-5个新命令,通过实际项目巩固学习成果。对于复杂系统问题,建议记录命令使用过程,逐步形成个人知识库。