linux 常用命令,這個是軟件測試面試必問的問題,主要是因為目前大多數(shù)互聯(lián)網(wǎng)項目都部署在linux服務(wù)器,如測試環(huán)境,部署的本地的服務(wù)器上,從開發(fā)提交完代碼,測試同學(xué)就得知道如何將最新的代碼部署到測試環(huán)境(jenkins一鍵部署,測試同學(xué)起碼知道服務(wù)部署在哪,還有jenkins里的腳本也得懂),還要去驗證服務(wù)是否真的部署好了,方法1:從前端的APP 或web端去入手,點擊業(yè)務(wù)功能,查看是否有報錯情況,或是使用自動化腳本跑一遍全業(yè)務(wù),根據(jù)結(jié)果驗證環(huán)境是否部署好了 。 方法2:在linux服務(wù)器上查看服務(wù)的啟動日志等,查看是否有報錯。除了環(huán)境問題之外,測試同學(xué)還需要將項目報錯的日志貼在bug里邊,這就要求測試同學(xué)能精準地定位到問題,以及報錯日志。
所以測試人員必須會一些常用的命令,如下:
案例一:
腳本的目的:就是 傳入不同的項目名稱,就可以查看到不同項目當天的日志。
以下代碼執(zhí)行方式:
腳本名稱:cat_catalina_log.sh
腳本運行方式:sh cat_catalina_log.sh tomcat-8108
腳本中的$1就是傳入的參數(shù):tomcat-8108
#!/bin/bash#set -xls_date=`date +%Y-%m-%d`tail -500f /home/tomcat/$1/logs/catalina.${ls_date}.out
案例二:
腳本的目的:想用腳本重啟tomcat項目,通過傳參的方式(參數(shù):項目的名稱) 。
以下代碼執(zhí)行方式:
腳本名稱:restartApp.sh
腳本運行方式:sh restartApp.sh tomcat-8107
set -x 詳細的日志輸出
grep -v 是反向查找的意思,比如 grep -v restartApp 就是查找不含有 restartApp 字段的行
#!/bin/bashset -x#ps_result=`ps -ef | grep tomcat| grep $1`#echo “${ps_result}” echo -e “”pids=`ps -ef| grep tomcat |grep $1 |grep -v ‘grep’|grep -v ‘restartApp.sh’|awk ‘{print $2}’`count=0pid_num=0for 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.shfiecho -e “”
測試同學(xué)可以根據(jù)實際情況,將頻繁使用的命令,讓其自動化跑起來,稍微解放一下自己的雙手。