linux 常用命令,这个是软件测试面试必问的问题,主要是因为目前大多数互联网项目都部署在linux服务器,如测试环境,部署的本地的服务器上,从开发提交完代码,测试同学就得知道如何将最新的代码部署到测试环境(jenkins一键部署,测试同学起码知道服务部署在哪,还有jenkins里的脚本也得懂),还要去验证服务是否真的部署好了,方法1:从前端的APP 或web端去入手,点击业务功能,查看是否有报错情况,或是使用自动化脚本跑一边全业务,根据结果验证环境是否部署好了 。 方法2:在linux服务器上查看服务的启动日志等,查看是否有报错。除了环境问题之外,测试同学还需要将项目报错的日志贴在bug里边,这就要求测试同学能精准的定位到问题,及报错日志。
所以测试人员必须会一些常用的命令,如下:
这是之前总结的命令,直接看这篇就行:https://zhuanlan.zhihu.com/p/161062427
除此之外,建议测试人员可以去学习一下shell命令,可以将常用的命令做成快捷脚本,这样就不用每次都输入一长串命令。
案例一:
脚本的目的:就是 传入不同的项目名称,就可以查看到不同项目当天的日志。
以下代码执行方式:
脚本名称:cat_catalina_log.sh
脚本运行方式:sh cat_catalina_log.sh tomcat-8108
脚本中的$1就是传入的参数:tomcat-8108
#!/bin/bash #set -x ls_date=`date +%Y-%m-%d` tail -500f /home/tomcat/$1/logs/catalina.${ls_date}.out
案例二:
脚本的目的:想用脚本重启tomcat项目,通过传参的方式(参数:项目的名称) 。
以下代码执行方式:
脚本名称:restartApp.sh
脚本运行方式:sh restartApp.sh tomcat-8107
set -x 详细的日志输出
grep -v 是反向查找的意思,比如 grep -v restartApp 就是查找不含有 restartApp 字段的行
#!/bin/bash set -x #ps_result=`ps -ef | grep tomcat| grep $1` #echo "${ps_result}" echo -e "\n\n\n" pids=`ps -ef| grep tomcat |grep $1 |grep -v 'grep'|grep -v 'restartApp.sh'|awk '{print $2}'` count=0 pid_num=0 for pid in ${pids} do pid_num=${pid} echo "pid_num:${pid_num}" #count=`expr ${count}+1` count=$(($count+1)) echo "count: ${count}" done if [[ $count -gt 1 ]] then echo "一个项目有两个进程 异常" else kill -9 ${pids} echo "Kill ${pids} Success!" #重启 echo "重启中。。。。。。。" sh /home/lifesea/$1/bin/startup.sh fi echo -e "\n\n\n"<br>
测试同学可以根据实际情况,将频繁使用的命令,让其自动化跑起来,稍微解放一下自己的双手。
上面的内容在之前的文章中都写过,这次是想将这些在测试面试过程中出现过的面试题整理成系列。