菜鸟科技网

软件测试Linux常用命令有哪些?

在软件测试工作中,Linux命令是提升效率、排查问题的重要工具,掌握常用命令能帮助测试人员快速完成环境搭建、日志分析、服务监控等任务,以下从文件操作、进程管理、网络通信、日志查看及压缩打包五个维度,结合具体场景解析常用命令。

软件测试Linux常用命令有哪些?-图1
(图片来源网络,侵删)

文件操作命令

文件操作是测试中最基础的技能,涉及文件/目录的创建、查看、编辑及权限管理。

  • ls:列出目录内容,常用参数如 -l(显示详细信息,包括权限、所有者、大小)、-a(显示隐藏文件)、-h(以人类可读格式显示大小,如K/M)。ls -lh 可快速查看目录下文件的大小和修改时间。
  • cd:切换目录,cd .. 返回上级目录,cd - 在最近两次目录间切换,cd ~ 进入用户主目录。
  • cp:复制文件/目录,cp -r 用于递归复制目录(如复制整个项目目录:cp -r /source /target)。
  • mv:移动文件/目录或重命名,mv old_name.txt new_name.txt 重命名文件,mv /test/*.log /archive/ 将test目录下所有log文件移动到archive。
  • rm:删除文件/目录,rm -f 强制删除(不提示确认),rm -r 递归删除目录(慎用,可搭配 rm -rf 清理临时文件)。
  • touch:创建空文件或更新文件时间戳,如 touch test_case.txt 创建测试用例文件。
  • chmod:修改文件权限,chmod 755 script.sh 赋予脚本可执行权限(7表示所有者可读/写/执行,5表示组用户和其他用户可读/执行)。

进程管理命令

测试中常需监控服务进程、终止异常进程或查看资源占用情况。

  • ps:查看当前进程,ps -ef 显示所有进程的详细信息(包括PID、父PID、命令行),ps aux 按CPU占用率排序(aux参数显示用户、进程ID、CPU及内存占用)。
  • top:动态监控进程资源,按CPUMEM列排序,按q退出,通过 top -p 1234 监控特定进程(PID为1234)的资源使用。
  • kill:终止进程,kill 1234 发送SIGTERM信号(正常终止),kill -9 1234 强制终止(SIGKILL信号,用于无响应进程)。
  • pgrep:根据进程名查找PID,如 pgrep -f nginx 查找所有包含“nginx”的进程PID,结合 kill 使用更高效:kill $(pgrep -f nginx)

网络通信命令

测试环境中的服务部署、接口调试依赖网络命令,用于端口检查、连通性测试等。

  • ping:测试网络连通性,ping -c 4 www.baidu.com 发送4个包测试与百度的连通延迟。
  • netstat:查看网络端口状态,netstat -tuln 显示所有监听的TCP/UDP端口(t TCP、u UDP、l 监听、n 以数字形式显示地址)。netstat -tuln | grep 8080 检查8080端口是否被占用。
  • ss:替代netstat的现代工具,速度更快,ss -tuln 同样查看监听端口,ss -t | grep ESTABLISHED 查看所有已建立的TCP连接。
  • curl:发送HTTP请求,测试接口可用性,curl -X POST http://localhost:8080/api/login -d "username=test&password=123" 模拟POST请求登录接口,-i 可返回响应头信息。

日志查看与分析命令

日志是定位测试问题的关键,测试人员需快速筛选、跟踪日志内容。

软件测试Linux常用命令有哪些?-图2
(图片来源网络,侵删)
  • tail:实时查看文件末尾内容,tail -f access.log 持续监控Web服务器访问日志(按Ctrl+C退出),tail -n 100 error.log 查看文件末尾100行错误日志。
  • grep:文本搜索,grep "ERROR" app.log 在日志中搜索包含“ERROR”的行,grep -i "warning" log.txt 忽略大小写搜索“warning”,grep -A 5 -B 5 "ERROR" log.txt 显示匹配行及前后5行上下文(A后置、B前置)。
  • cat:查看文件全部内容,cat test_report.txt 直接输出文件内容,适合小文件;大文件可用 less test_report.txt 分页查看(支持上下滚动、搜索)。
  • awk:文本处理工具,awk '{print $1, $4}' access.log 提取日志中的第1列(IP)和第4列(请求时间),awk '/ERROR/{count++} END{print "Error count:", count}' log.txt 统计ERROR出现次数。

压缩与打包命令

测试环境的部署包、日志备份常需压缩传输,Linux常用tarzip

  • tar:打包/解包,tar -czf project.tar.gz /project 将project目录打包为gzip格式(c创建、zgzip压缩、f指定文件名),tar -xzf project.tar.gz 解压到当前目录(x解压、zgzip格式)。
  • zip/unzip:压缩/解压zip文件,zip -r project.zip /project 递归压缩目录(r包含子目录),unzip project.zip 解压zip文件。

相关问答FAQs

Q1: 测试中如何快速定位日志中的错误信息?
A1: 可结合greptail命令:先用grep -i "error|exception|fail" app.log 搜索错误关键词,再用tail -f实时跟踪日志动态;若需上下文,用grep -A 3 -B 3 "ERROR" log.txt 显示错误行前后3行内容,快速定位错误发生位置及原因。

Q2: 如何检查测试环境中的服务是否正常运行?
A2: 分三步:①用ps -ef | grep "service_name" 查看进程是否存在;②用netstat -tuln | grep "port" 检查服务端口是否监听;③用curl -f http://localhost:port/health 或浏览器访问服务接口(-f表示静默失败,仅返回HTTP状态码),若返回200则服务正常,失败则需结合日志进一步排查。

分享:
扫描分享到社交APP
上一篇
下一篇