我在华为,软件测试人员在工作中如何运用Linux?
从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。
对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux系统完全了解,你只需要学会一些常用的基本命令,这些命令足够支撑你去查看日志,定位bug,修改文件,搭建环境就完全OK了。对于Linux系统底层的实现不需要了解,甚至对于绝大多数的命令都不需要知道。
我们是如何在我们的工作中使用Linux呢?
相信很多人都知道,之所以我们会用到Linux,是因为我们的产品将Linux系统作为我们的服务器使用,当我们去测试产品时需要在Linux上部署产品,若产品某个功能出现错误,我们需要去排查出错的原因,出于这二个目的,我们就需要掌握一定的Linux命令。
第一个作用:搭建环境
根据每个公司的情况,软件测试人员需要自己在Linux系统上部署测试环境,也有公司是开发人员帮忙在Linux服务器上部署,不需要测试人员自己部署,而现在大部分开始做自动化部署了,就更不需要软件测试人员手工部署,直接在Jenkins上自动部署就完成了,然后打开web界面,新部署上的去的代码就生效了。
现在的部署就这个简单了,基本不用手工了,那如果用手工部署需要用到哪些命令?
下面就列一些在部署时需要用的命令:
基本在部署环境时,主要就会用到这些命令,可能还有其他的,根据实际使用情况。
第二个作用:查看日志
对软件测试人员来说,查看日志恐怕是软件测试人员运用Linux系统最多的功能。
如果对软件测试、接口、自动化、性能测试、LR脚本开发、面试经验交流。感兴趣可以273462828,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。
查看日志主要是用于定位bug,或者查看程序执行情况(什么时候调用哪个服务,什么时候在哪个表中写数据,什么时候发起请求等都可以在日志中查询到)。
在查看日志时经常用到的一些命令:
1.查看日志文件的命令
(1)vi
vi/vim 原本是指修改文件,同时可以使用vi 日志文件名,打开日志文件
(2)less
less命令是查看日志最常用的命令。
用法:less 日志文件名 --分页显示文件的内容
经常使用这个命令是因为在查看过程中可以根据实际情况翻页和查找,非常的方便。
空格或f 向下翻页
enter键 换行
q或Q 退出
pgup/pgdn 向上/向下一页一页切换
方向键 向上/向下一行一行切换
查找指定字符串:
先输入/,然后在/后面输入要查找的指定字符串,回车
----》显示的一个指定字符串是从当前位置查找到的第一个,可以按“n”继续向下查找其它的
(3)cat
查看文件内容比较少的文件,经常用cat
(4)tail
tail命令的意义是显示文件最后的几行,默认显示十行。
但是经常使用的却是另一种场景:
当执行出错时,我们一般都会查看日志,但如果日志过多,查找很麻烦,这时一般会使用tail命令动态显示日志。
tail -400f XX.log -->动态就是显示日志文件新增的内容*
2.搜索文件内容
(1)在文件里面搜索
在文件里面搜索,先用less命令查看文件,然后输入指定字符串进行查找。
(2)文件外面搜索
在文件外面搜索特定的字符串,可以用grep命令查找
=》 grep 'ERROR' test.log
查找test.log文件中包含'ERROR'的行,并且显示出来
=》 grep 'ERROR' test.log | wc -l
返回test.log文件中包含'ERROR'行的数目
根据查看日志定位到软件出错时的日志,通过分析日志来解决bug,当然这有可能也定位不出bug, 查看日志是定位bug的手段之一。
第三个作用:修改文件
修改文件一般是指修改配置文件,我们只需要掌握简单的几个命令就能学会如何修改文件。
1.进入文件
vi 命令前面有讲过这个命令是找开文件,在我们需要修改文件时,就需要使用vi/vim其意为在vim编辑器中打开文件,达到可以编辑文件的目的。
vi 命令除了可以修改文件 ,还可以作为新增文件的命令。
vi 不存在的文件名 ---》表示新增一个文件,并编辑
vi 存在的文件名 ---》表示可以修改该文件
2.修改文件
vim编辑器有三种模式:
一般模式
使用vi命令进入的那个模式就是一般模式命令模式
在一般模式下输入:或/ 即进入了命令模式编辑模式
在一般模式下按I,i,A,a,O,o,R 即进入了编辑模式
在编辑模式下会提示INSERT REPLACE字样
从命令模式或者编辑模式切换到一般模式,按ESC通过vi命令找开文件,初始状态为一般模式,如果要修改文件,需要切换到编辑模式。
在一般模式时通过按I,i,A,a,O,o,R 都可以进入到编辑模式,使用哪一个都可以,唯一的区别就是插入的光标所在位置不同,一般使用i/I,然后通过移动光标到达目标位置进行修改,所以不用记那么多,记住一个就好,是不是很聪明?
修改的操作就和我们编辑doc文件大致差不多,其他复杂的命令能记住就记住,记不住也不影响我们修改文件,唯一的区别是修改的效率快慢。
3.保存文件
修改文件之后,需要保存修改的内容,这样才算修改成功。
根据上面的使用场景来看是不是觉得掌握Linux命令非常的简单,真正需要你记的也不是很多,能记住常用的命令就完全足够我们使用了,其他的命令就随着我们在实际使用时再查再记,也是OK的。
我在华为,软件测试人员在工作中如何运用Linux?的更多相关文章
- 软件测试人员在工作中如何运用Linux
从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...
- 转-软件测试人员在工作中如何运用Linux
从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...
- 工作中常用的Linux命令:mkdir命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...
- 工作中常用的Linux命令:crontab命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...
- 工作中常用的Linux命令:ipcs/ipcrm命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...
- 工作中常用的Linux命令:find命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处) 1.命令格式 find [-H] [-L] [-P] [-D deb ...
- 总结工作中常见的linux命令
本文是总结下自己在工作中遇到的常见linux 命令,会持续更新! 1.文件路径切换 进入 cd 返回上一级 cd .. 2.复制 cp 源文件名 目标文件夹 cp log.log test5 3.编 ...
- 在工作中常用的Linux命令
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 之前写过一篇 < 在公司做的项目和自己在学校做 ...
- linux——实际工作中如何使用linux
实际工作中,linux系统都不会在我们自己的电脑上,linux系统安装在机房的服务器上,我们操作linux不可能跑到机房去,所以我们需要有一个工具,能在公司通过网络远程连接到机房的linux服务器上 ...
随机推荐
- 第八章 计时器(DIGCLOCK)
/*-------------------------------------- DIGCLOCK.C -- Digital Clock (c) Charles Petzold, 1998 ----- ...
- Python Frame
http://farmdev.com/src/secrets/framehack/index.html sys._getframe([depth]) Return a frame object fro ...
- Gsoap在QT工程里如何调用
Qt并没有SOAP的官方实现,都是借助三方库来实现,不过似乎有个QtSoap,不过这个不是太会用,所以还是用Gsoap 这里生成纯C文件, 1.下载gSOAP(http://sourceforge.n ...
- [T-ARA][Bo Peep Bo Peep]
歌词来源:http://music.163.com/#/song?id=22704468 作曲 : 新沙洞老虎/崔圭成 [作曲 : 新沙洞老虎/崔圭成] 作词 : 新沙洞老虎/崔圭成 [作词 : 新沙 ...
- 复用$.ajax方式传递参数错误处理
1.封装后的方法,在 data:inData 传递参数的方式和一般不一样,如果不注意会出现错误. function getDataByJsonP(methName, inData, fn) { $.a ...
- MySQL半同步主从.md
MySQL Semisynchronous Replication 复制架构衍生史 1.普通的replication,异步同步. 搭建简单,使用非常广泛,从mysql诞生之初,就产生了这种架构,性能非 ...
- 理解JVM——类加载机制
我们在编写Java程序之后,会通过编译器得到一个class文件,这个class文件是如何与JVM进行配合的呢?类中的信息是如何变成JVM可以使用的Java类型呢?这些都是类加载机制做到的. 虚拟机把描 ...
- (第一章)改善JavaScript,编写高质量代码。
根据<编写高质量代码改善JavaScript程序的188个建议>这本书,来记录我目前所了解的建议方式. 建议1:警惕Unicode乱码 根据ECMA标准规定JavaScript语言可以使用 ...
- display:inline、block、inline-block的区别(摘抄)
display:inline.block.inline-block的区别 display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都 ...
- 设计一个分布式RPC框架
0 前言 提前先祝大家春节快乐!好了,先简单聊聊. 我从事的是大数据开发相关的工作,主要负责的是大数据计算这块的内容.最近Hive集群跑任务总是会出现Thrift连接HS2相关问题,研究了解了下内部原 ...