news 2026/2/12 21:52:06

软件测试常用Linux命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件测试常用Linux命令

结合软件测试(出海游戏/SDK测试、自动化测试、性能测试等)的日常工作场景,覆盖文件操作、查找检索、进程网络、日志分析、批量处理、性能监控、权限管理等核心高频场景,不局限于服务器部署和基础日志查看,命令附带测试场景解读+常用参数,可直接复用。

一、基础文件/目录操作(测试高频:建测试目录、传测试文件、重命名测试用例/日志)

测试中常需创建多层测试目录、跨目录复制测试文件、快速重命名测试日志,以下是最实用的命令,参数聚焦测试场景

命令常用参数/示例测试场景解读
lsls -lh(人性化显示大小)、ls -la(显示所有文件/隐藏文件)、ls -rt(按修改时间倒序)查看测试目录下的用例、日志、包文件,-rt快速找最新修改的测试文件
cdcd ~(回主目录)、cd -(返回上一次目录)、cd /usr/local/test(绝对路径)快速切换测试目录,避免反复输入长路径
mkdirmkdir -p test/{case,log,package}(递归创建多层目录)一次性创建测试用例、日志、安装包的分层目录,适配测试工程化管理
cpcp -rf /local/test.log /server/log/(递归强制复制)把本地测试日志/用例复制到服务器,-f覆盖已存在文件无需确认
mvmv old_test.log test_20260203.log(重命名)、mv *.log /backup/(批量移动)重命名测试日志(按日期标识)、批量移动过期测试文件到备份目录
touchtouch test{1..100}.txt(批量建空文件)、touch error.log(单文件)生成空测试文件(用于边界值测试:0KB文件、批量小文件)
rmrm -rf test_temp/(递归强制删除)、rm -f *.tmp(批量删临时文件)删除测试临时目录/文件,注意:严禁直接用rm -rf /,操作前确认路径!
scpscp -r local_dir root@192.168.1.100:/server/test/(本地传服务器)
scp root@192.168.1.100:/server/log/test.log ./(服务器传本地)
跨服务器传输测试包、日志、用例文件,-r用于目录,需知道服务器账号密码

二、文件内容查看/编辑(测试高频:看测试日志、临时改配置文件、提取日志内容)

覆盖短日志快速看、长日志翻页、实时监控日志、临时编辑测试配置,适配测试查日志、改临时配置的需求。

命令常用参数/示例测试场景解读
catcat test.log(简单查看)、cat -n test.log(显示行号)查看短测试日志/配置文件,-n方便定位日志报错行
tactac test.log倒序查看文件,适合看日志的最新内容在开头的场景(如部分服务日志)
less/moreless test.log(翻页,支持↑↓/pgup/pgdn,q退出)查看超长测试日志/配置文件lessmore更灵活(支持回翻)
head/tailhead -20 test.log(看前20行)、tail -50 test.log(看后50行)
tail -f test.log(实时监控日志)、tail -F test.log(日志切割后仍监控)
测试核心命令tail -f实时看服务运行日志(复现bug时监控),tail -50快速找最新报错
vim基础操作:i(编辑)、Esc(退出编辑)、:wq(保存退出)、:q!(不保存退出)
vim +100 test.log(直接跳转到100行)
临时编辑测试配置文件(如SDK的配置、服务的启动参数)、定位日志报错行
sedsed -n '50,100p' test.log(提取50-100行)、sed -i 's/old/new/g' test.conf(批量替换配置)无需打开文件,直接提取日志指定行批量替换配置文件内容(测试临时改配置超实用)

三、文件查找/内容检索(测试高频:找测试文件、日志搜报错关键字、检索用例内容)

测试中常需按名称/大小/时间找测试文件在海量日志中搜报错/用例关键字,以下命令是「测试排查问题的核心工具」。

1. 按文件属性查找:find(找文件/目录本身)

find查找路径 -参数 条件# 通用格式find/server/test -name"*.log"# 按名称找所有日志文件find/local/case -type f -size +100M# 找大于100M的测试用例文件(f=文件,d=目录)find/logs -mtime -7# 找7天内修改的测试日志(-7=7天内,+7=7天前)find/test -name"test*"-delete# 查找并删除以test开头的文件(慎用)

2. 按文件内容检索:grep(测试最高频,日志排查必备)

grep关键字 文件名# 通用格式grep-n"error"test.log# 查找错误,-n显示行号(方便定位报错位置)grep-i"Timeout"test.log# -i忽略大小写(适配日志关键字大小写不统一)grep-v"info"test.log# -v排除指定内容(只看非info的日志,过滤冗余)grep-r"testCase001"/server/test/# -r递归检索目录下所有文件(找用例/日志中的指定用例名)grep-A5 -B3"Exception"test.log# 显示报错后5行+前3行(-A后,-B前,看报错上下文,测试必备)# 组合用法:多条件过滤grep"2026-02-03"test.log|grep-i"error\|timeout"# 找指定日期的错误/超时日志

3. 其他查找命令

命令示例测试场景解读
whichwhich javawhich adb找命令的安装路径(测试查工具/服务的安装位置,如SDK依赖的java)
whereiswhereis nginx找命令/程序的所有相关文件(比which更全面)

四、进程管理(测试高频:排查测试服务进程、杀僵死进程、查看进程资源占用)

测试中常需启动/停止测试服务排查服务是否启动杀僵死的测试进程/模拟器进程,适配SDK/游戏服务的进程排查。

命令常用参数/示例测试场景解读
psps -ef(全量显示进程,含PID/父进程/命令)、ps aux(显示进程+资源占用)基础查进程,`ps -ef
pgreppgrep -f test_server直接按进程名查PID,比`ps -ef
top实时监控,按P(按CPU排序)、M(按内存排序)、k(杀进程)、q(退出)实时看进程的CPU/内存占用(测试性能场景:看服务是否内存泄漏、CPU飙高)
htop直接输入htoptop更友好(彩色显示、鼠标操作),需安装(yum install htop/apt install htop
pstreepstree -p(显示进程树+PID)看进程的父子关系(测试排查:服务是否启动了子进程、僵死进程的父进程是谁)
killkill 1234(正常终止PID=1234的进程)、kill -9 1234(强制杀死)终止进程,-9用于僵死进程(如测试服务卡死、模拟器进程关不掉)
pkillpkill -9 test_server直接按进程名强制杀进程,无需查PID(批量杀同名测试进程超实用)
nohupnohup ./start_test_server.sh &后台启动测试服务,关闭终端后服务仍运行(测试长时间跑自动化/性能用例时用)

五、网络管理(测试高频:测端口连通、看监听端口、抓包、测HTTP接口)

适配SDK网络测试、游戏服务网络排查、接口测试,覆盖端口、连通性、抓包、接口调用,是网络相关测试的核心命令。

命令常用参数/示例测试场景解读
ifconfig/ip addr直接输入,ip addr是新版Linux推荐查看服务器/测试机的IP地址、网卡信息(测试必看,确认测试环境IP)
pingping 192.168.1.100 -c 4(指定ping4次)、ping baidu.com测试网络连通性(判断测试机与服务器、服务器与外网是否通)
netstatnetstat -tulnp(核心!tcp/udp/监听/进程/端口)测试必备命令:查看端口是否被监听、端口对应的进程PID
参数:t(tcp)u(udp)l(监听)n(数字显示IP) p(关联进程)
ssss -tulnp替代netstat的新版命令,速度更快,参数与netstat一致
telnet/nctelnet 192.168.1.100 8080(测端口连通)
nc -zv 192.168.1.100 8080(nc更通用,无telnet时用)
测试端口是否开放(SDK/服务的端口是否能访问,比ping更精准,ping通≠端口通)
tcpdumptcpdump -i eth0 port 8080 -w test.pcap(抓eth0网卡8080端口的包,保存为pcap)
tcpdump -i any host 192.168.1.100(抓所有网卡与指定IP的通信包)
网络抓包分析(测试SDK/游戏的网络请求异常时,抓包给开发定位,可用Wireshark打开pcap文件)
curlcurl http://192.168.1.100:8080/api/test(GET请求)
curl -X POST -d "name=test" http://xxx/api(POST请求)
curl -v http://xxx(显示详细请求过程)
接口测试核心命令:无需Postman,直接在Linux上测HTTP/HTTPS接口,排查接口是否正常返回
wgetwget http://xxx/test_package.zip(下载文件)、wget -O new_name.zip http://xxx(重命名下载)下载测试包/SDK安装包到服务器,无需本地传文件

六、日志分析进阶(测试超高频:组合命令排查日志,覆盖90%的日志场景)

单独的tail/grep满足不了复杂日志排查,以下组合命令是测试查日志的「杀手锏」,适配海量日志、多条件过滤、统计报错等场景。

# 1. 实时监控日志并过滤错误/异常(复现bug时用,只看关键报错)tail-f test.log|grep-i"error\|exception\|timeout"# 2. 查找指定日期的日志(日志含时间戳,如2026-02-03)grep"2026-02-03 14:00-15:00"test.log|grep"error"# 3. 统计日志中某类错误的出现次数grep-c"NullPointerException"test.log# -c统计行数(错误次数)# 4. 查找报错并保存到新文件(方便发给开发定位)grep-A10 -B5"error"test.log>error_detail.log# 5. 按日志关键字去重并统计次数(看哪种错误出现最多)grep"error"test.log|cut-d":"-f5|sort|uniq-c|sort-nr# 6. 查看日志中最大的行(排查是否有超大日志行导致服务卡死)wc-L test.log# -L显示文件中最长行的字符数

七、性能监控(测试高频:性能测试、服务稳定性测试,看CPU/内存/磁盘/IO)

适配性能测试场景,监控服务器的CPU、内存、磁盘、IO使用率,判断服务是否存在性能瓶颈,无需专业监控工具即可快速排查。

命令常用参数/示例测试场景解读
freefree -h(人性化显示内存,-m按MB显示)查看内存使用情况(总内存/已用/空闲/缓存,测试看是否内存泄漏)
dfdf -h(人性化显示磁盘)、df -h /(看根目录磁盘)查看磁盘使用率(测试必看:日志/测试文件是否占满磁盘,导致服务崩溃)
dudu -sh /server/test/(查看目录总大小)、du -lh --max-depth=1 /logs/(看目录下各子目录大小)查看目录/文件的实际大小(找大日志/大测试文件,清理磁盘)
vmstatvmstat 1 10(每秒刷新1次,共10次)查看系统整体状态(CPU/内存/磁盘IO/进程状态,性能测试长期监控)
iostatiostat -x 1(每秒刷新,显示磁盘IO详细信息)查看磁盘IO使用率(测试看磁盘读写是否过高,导致服务响应慢)
sarsar -u 1 10(监控CPU)、sar -n DEV 1 10(监控网卡流量)历史性能监控(需安装),适合测试后复盘性能数据

八、批量文件操作(测试高频:批量生成/重命名/删除测试文件,适配边界值测试)

测试中常需批量生成测试文件(如1000个0KB文件、100个1M文件)、批量重命名日志,以下命令无需脚本,直接实现批量操作。

# 1. 批量创建文件(边界值测试:100个空文件、按序号命名)touchtest_case{1..100}.txt# 2. 批量重命名文件(把所有.log文件加日期后缀,如test.log→test_20260203.log)forfilein*.log;domv$file${file%.log}_20260203.log;done# 3. 批量压缩日志文件(把3天前的日志批量压缩,节省磁盘)find/logs -name"*.log"-mtime +3 -exectar-zcvf{}.tar.gz{}\;# 4. 批量删除过期测试文件(删除7天前的.tmp临时文件)find/test -name"*.tmp"-mtime +7 -delete# 5. 批量替换多个配置文件的内容(把所有.conf中的old_ip换成new_ip)sed-i's/192.168.1.100/192.168.1.200/g'*.conf

九、压缩/解压(测试高频:解压测试包/SDK包、压缩测试日志/用例)

Linux下最常用的tar/zip/gzip格式,适配测试包的解压部署、日志的压缩备份。

压缩格式解压命令压缩命令测试场景解读
tar.gztar -zxvf test.tar.gz -C /server/test/tar -zcvf test.tar.gz /local/test/最常用格式,适合压缩目录/多个文件,-C指定解压目录
tartar -xvf test.tar -C /test/tar -cvf test.tar /test/无gzip压缩,速度快
zipunzip test.zip -d /test/zip -r test.zip /test/跨平台格式(Windows/Linux通用),测试包常用
gzgunzip test.log.gzgzip test.log单文件压缩,压缩后原文件消失

参数说明:z(gzip)、x(解压)、c(压缩)、v(显示过程)、f(指定文件名)、r(递归)

十、权限/用户操作(测试高频:排查测试文件/服务权限问题、提权执行命令)

测试中常遇到文件权限不足(如服务无法读写日志)、需要root权限启动服务,以下命令快速解决权限问题。

# 1. 改文件/目录权限(数字权限:7=读+写+执行,5=读+执行,4=读)chmod755start_test.sh# 给脚本执行权限(测试启动服务必备)chmod644test.log# 日志文件:属主读写,其他只读chmod-R755/server/test/# 递归改目录下所有文件权限# 2. 改文件属主/属组(解决“权限拒绝”,如把文件给test用户)chown-R test:test /server/test/# 属主=test,属组=test# 3. 提权执行命令(需要root权限时用)sudo./start_server.sh# 临时提权执行脚本sudosu- root# 切换到root用户(需输入当前用户密码)# 4. 查当前用户/权限whoami# 查当前用户名id# 查当前用户的UID/GID/属组

十一、其他实用小命令(测试高频,小巧但超实用)

命令示例测试场景解读
wcwc -l test.log(统计行数)、wc -w test.log(统计单词数)统计测试用例数、日志行数(测试统计用)
datedate +"%Y-%m-%d %H:%M:%S"(显示当前时间戳)生成日期后缀(重命名日志/文件),如touch test_$(date +%Y%m%d).log
historyhistory(查历史命令)、!50(执行第50条命令)、!grep(执行上一条grep)快速复用之前的测试命令,无需重新输入
md5summd5sum test_package.zip校验测试包/SDK包的完整性(对比官方MD5,防止文件损坏)
lnln -s /server/test/log /local/log(创建软链接)给测试日志/配置创建软链接,快速访问(无需记长路径)
clear直接输入清屏(日志太多时,清屏方便查看新内容)

十二、测试常用组合命令汇总(直接复制使用,覆盖90%的测试场景)

# 1. 查端口8080对应的进程(排查端口被占用)netstat-tulnp|grep8080或 ss -tulnp|grep8080# 2. 查进程java对应的所有端口ps-ef|grepjava|grep-vgrep|awk'{print $2}'|xargsnetstat-tulnp|grep{}# 3. 实时监控日志并过滤关键字,同时保存到文件tail-f test.log|grep-i"error"|teeerror_real.log# 4. 找服务器上所有大于2G的日志文件(清理磁盘)find/ -type f -name"*.log"-size +2G|xargsdu-sh# 5. 批量杀死所有java进程(测试重启所有java服务时用)pkill-9 java# 6. 测试接口并显示详细请求/响应(接口测试排查)curl-v http://192.168.1.100:8080/api/test --header"Content-Type:application/json"# 7. 抓包并保存,仅抓tcp协议8080端口(网络SDK测试)tcpdump -i any tcp port8080-w test_tcp.pcap

十三、测试操作注意事项

  1. rm -rf慎用:操作前用ls确认路径,避免删除重要测试文件/系统文件;
  2. 提权操作:使用sudo时确认命令是否正确,避免误操作;
  3. 抓包/性能监控:不要长时间运行(如tcpdumptop),避免占用服务器资源;
  4. 日志备份:删除大日志前建议先压缩备份,防止后续需要排查问题;
  5. 组合命令:善用管道|(把前一个命令的输出作为后一个的输入)和重定向>/>>>覆盖,>>追加),提升效率。

以上命令覆盖软件测试工程师在Linux环境下的日常操作、问题排查、测试执行全场景,建议收藏备用,常用命令多敲几次即可熟练掌握。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/12 18:52:50

学长亲荐8个降AI率平台,千笔AI帮你彻底解决降AIGC难题

AI降重工具:让论文更自然,更安全 在当前学术写作中,AI生成内容(AIGC)的广泛应用带来了新的挑战。许多学生在使用AI辅助写作时,往往忽视了AI痕迹的残留问题,导致论文被检测出高AIGC率&#xff0…

作者头像 李华
网站建设 2026/2/12 18:52:45

学长亲荐10个降AIGC网站,千笔·降AIGC助手帮你轻松降AI率

AI降重工具,帮你轻松应对论文查重难题 在如今的学术环境中,越来越多的学生开始使用AI工具辅助写作,但随之而来的AIGC率过高、查重率超标等问题也让不少同学感到头疼。如何在保持原文语义和逻辑的前提下,有效降低AI痕迹和重复率&am…

作者头像 李华
网站建设 2026/2/12 18:52:44

Windows程序设计第六版 pdf下载,Win32 API经典教程电子书

对于许多Windows平台的开发者而言,《Windows程序设计》是一本经典的技术书籍,其第六版涵盖了从基础消息循环到高级图形界面的核心知识。作为一本深度指南,它系统性地讲解了Win32 API的使用方法,是理解Windows操作系统底层运行机制…

作者头像 李华
网站建设 2026/2/12 4:56:19

【课程设计/毕业设计】基于ssm的中小学生阅读能力培养系统小学中年级阅读能力培养课程体系【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/12 18:52:39

Java面试通关指南(七):Redis黑洞穿越:从数据结构到分布式缓存架构

🔥 前言 Redis作为互联网系统的性能加速器和数据结构瑞士军刀,是面试中必考的深度技术点。掌握Redis不仅是为了应对面试,更是为了构建高性能、高可用的现代分布式系统。本文将带你深入Redis内部世界,探索从数据结构到集群架构的完…

作者头像 李华