测试人员常用的shell命令

我总结以下我工作三年以来常用到的命令,以供大家参考。

1. 通过查日志定位问题的:

1)看实时的动态日志

tail -100f 日志文件名

2)快速找到你想看的关键字的部分日志

grep "关键字" 日志文件名      多关键字: grep XXX 文件名 |grep XXX |more

3)简单看日志前后文(测试环境用)

vim 日志文件名  进入后  /输入关键字   然后n是往下找关键字,上下键是浏览前后文

4)直接查找关键字前后几行

grep -C 50(行数) 关键字 文件名

5)通过行数定位你要找的日志

cat -n 文件名|grep 关键字  先找到你要的关键字所在行数

sed -n '开始行,结尾行p' 文件名

6)查看压缩包的内容 zcat 压缩包名.gz  |grep 关键字

7)在jar包里找配置文件信息  vim jar包名,找到你想看的文件回车,可以用/快速定位要找的文件

 

2. 上传下载压缩解压复制等操作:

1)zip包: 打包命令 zip -r ROOT.zip ROOT;解压命令 unzip ROOT.zip

2)上传: rz 回车    下载 :sz 文件名 回车

3)本地复制 cp -r 源文件  目标文件夹/

4)远程复制  scp -r /source_path ssh_user@x.x.x.x:/destination_path

5)tar包:压缩  tar  -zcvf   压缩文件名.tar.gz   被压缩文件名;解压  tar  -zxvf   压缩文件名.tar.gz

3. 创建修改文件内容等操作:

1)创建文件,文件夹

mkdir 文件夹名;   vim  文件名;  touch 文件名

2)保存

i 表示开始写操作  :q! 表示强制退出不保存   :wq 表示退出保存

3)删除文件或文件夹

rm -rf 文件名  (这个操作退件测试环境用,因为是彻底删除,无法修复不建议线上用,必须确认好这个肯定要删除再使用谨慎)

批量删除: e:   find /home/pso/qianke/logs -name '*qianke.2017-07*'|xargs rm -rf

4)模糊搜索文件  find / -name 关键字   /后面是哪个目录,如果是全局就写/

5)重命名文件  mv A B 把a改成b

4. 查看进程和服务等命令:

1)查看Java进程  ps -ef|grep java  (Java可以替换成任意你想看服务的关键字)

2)停止进程  kill  -9  进程号 (kill命令需谨慎使用),如果服务是Tomcat启的可以直接./stop.sh

3)查看以前操作过的命令 history | grep 关键字    或者:history n  最近几行的命令

4)查看当前路径   pwd 表示显示当前路径

5)查看cpu型号,内存信息(一般用在性能测试)

cat /proc/cpuinfo       cat /proc/meminfo 

6)切换root权限  sudo -i

5. 修改系统时间:

1)sudo date -s '2028-01-19 18:32:30'  

2)处理日志时间与系统时间不一致https://blog.csdn.net/dufufd/article/details/77771729

 

6. 启动项目:

1)Tomcat项目,bin目录下的./startup.sh 和 ./stop.sh

2)非Tomcat项目,nohup 启动  用开发给的命令启动jar,war包  nohup java目录有时候要写/java -Dsia.profile=一些配置文件  -jar xxxx.jar/war

 

7.查看进程为什么挂掉了

1)可能是磁盘满了,看磁盘占用空间

df -h 总目录下

du -h

du -ah --max-depth=1 该目录下 或者du -sh * 或者 du -s * | sort -nr 排序

(如果程序突然当掉了,先看下cpu使用情况,如果某个应用的cpu使用率很大,考虑优化程序,如果cpu使用率都不大但还是很卡或当掉了,看下内存是不是占满了,找到哪个地方占满了内存,清理一下)

8. 服务连通性

1)ping  ip   看服务器通不通

2)Telnet ip 端口号  看接口通不通(接口不通可能是防火墙,要配安全策略)

3)curl 命令单独介绍见9

9. curl 命令(我用在线上测试接口)

1)get 就和用postman一样,直接curl 地址参数,需要注意的是当多个参数的时候要加转义字符\ 才能准确表达&的意思

2)post HTTP:例如

curl HTTP请求地址 -X POST -H "Content-Type:application/json" -d '{"phone":"13911689118"}'  

3)post webservice:例如

curl -H 'content-type: application/xml' -d '<soapenv:Envelope xmlns:soapen。。。。里面是webservice的所有参数' http://xxxxxxx?wsdl  

 

9. git命令

1)查看分支 git branch -a

2)切分支 git checkout 分支名

3)拉分支  git pull 

4)拉库 git clone 地址

 

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值