一、前言
作为测试需要掌握的linux命令有哪些?
面试常问的linux命令又是哪些呢?
linux在测试中的应用场景有哪几种?
下面一一为你解答
二、linux在测试中的常用应用场景
1. 查询日志
因为测试环境和开发环境是独立分开的。
在我们测试过程中,当接口报错、服务器状态异常时都需要在linux中查看输出日志并将其反馈给开发。
2. 部署服务
开发提测后的服务都需要在测试环境中进行部署,就涉及一些nginx、mysql配置、shell脚本、java环境搭建等的一些操作学习
3. 分布式自动化、性能测试
jmeter的性能瓶颈不高,在大压力场景下的测试场景中需要多台机器进行分布式的性能测试,这个时候就可能需要在linux中搭建分布式环境进行多台主机、服务器的管理和并行。
三、常用命令
1.【tail】命令
1.1 说明
查看文件内容,测试中常用于查看日志;这一定是面试最常问且最应该掌握的命令!
在我们测试过程中,这个命令常常伴随着我们。当测试的项目接口报错时,通常需要在服务器上使用该命令查看错误日志反馈给对应开发!
格式:tail 参数 文件
1.2 示例
例如我们目录下有一个log文件:
1)我们可以使用tail -f csdn.log 来实时读取它
2.如果要查看最后200行的内容并实时读取,则命令为:
tail -200f csdn.log
3.如果不带参数直接跟文件的话:tail csdn.log ,则默认显示的是最后10行的内容
2.【grep】命令
2.1 说明
用于查找文件里符合条件的字符串
语法:grep 参数 '查找字符串' 文件名
2.2 示例
1)如果要查询csdn.log文件中的“完成次数:749”文本,可以输入命令:
grep 完成次数:749 csdn.log
2)grep的常用场景并不是用于匹配字符串,二是在查询匹配进程中使用的更多:例如我要看我启动了哪些python进程,则可以输入命令:
ps -ef |grep python
3.【cd】命令
3.1 说明
切换当前目录,很基本的一个命令
语法:cd 绝对/相对路径
3.2 示例
1)比如我们要进入/usr/local这个目录则可以输入命令:cd /usr/local
2)如果此时想进入/usr/src这个目录的话可以输入:
:cd ../src
,当然输入:cd /usr/src
也是可以的。
3.如果想返回上级目录:可以输入命令:cd ..
4. 【ls】命令
4.1 说明
用于查看指定目录下的内容(文件、子目录)的非常基本的命令
语法:ls 参数 路径 (不带路径则全局搜索)
4.2 示例
1)查看有哪些文件、文件夹可以输入命令:ls
2)查看文件、文件夹的权限和属性等信息,可以输入命令:ls -l
或ll
3)查看/root/simpleApi(指定目录)下的文件信息,可以输入命令:ls /root/simpleApi/
5.【find】命令
5.1 说明
用来在指定目录下查找文件
语法:find 路径 参数 操作
5.2 示例
1)查看/root/simpleApi下文件名为test的文件,可以输入命令:
find /root/simpleApi/ -name test.sh
6.【mv】命令
6.1 说明
用来为文件或目录改名、或将文件或目录移入其它位置
语法:mv 参数 文件 新名称/新路径
6.2 示例
1)将e.log文件名称改为t.log,可以输入命令:mv e.log t.log
2)将e.log 文件移动到te/te1文件夹下,可以输入命令:mv e.log te/te1
3)如果te/te1文件夹下存在了e.log,需要询问是否覆盖,可以输入命令:mv -i e.log te/te1
7.【cp】命令
7.1 说明
主要用于复制文件或目录
语法:cp 参数 文件/目录 目标文件/目录
7.2 示例
1)将e.log文件复制到te/te1目录下,可以输入命令:cp e.log te/te1
2)将文件夹test及它下面的内容复制到test1文件夹下,可以输入命令:cp -r test test1
8.【rm】命令
8.1 说明
用于删除一个文件或者目录。
语法:rm 参数 文件名/目录
8.2 示例
1)强制删除当前目录下的te.log文件,可以输入命令:rm -f te.log
2)强制删除文件夹test及其下面的所有内容,可以输入命令:rm -rf te
9.【cat】命令
9.1 说明
用于查看文本文件的内容
语法:cat 参数 文件名
9.2 示例
1)查看csdn.log文件内容 ,可以输入命令:cat csdn.log
2)查看csdn.log部分内容,可以输入命令:cat csdn.log|less
10.【vi/vim】命令
10.1 说明
文本编辑器,Vim是vi的升级版,常用于编码。但作为测试,往往用vi就足够了
语法:vi/vim 参数 文件名
10.2 示例
1)需要在te.log文件中插入文本“abcd”并保存,则操作步骤为:
1.输入命令:vi te.log
2.按:i
3.输入:abcd
4.按:esc
5.输入:wq
6.按下 “回车”,保存成功!
11.【chmod】命令
11.1 说明
控制用户对文件的权限的命令
语法:chmod 参数 文件名
对于测试而言无须记住太多,只需知道修改权限的命令即可:(了解就行)
11.2 示例
1)赋予te.log读取权限,可以输入命令:chmod -r te.log
12.【ps】命令
12.1 说明
用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。
语法:ps 参数
12.2 示例
1)列出所有进程,可以输入命令:ps -A
2)查看当前运行中的进程,可以输入命令:ps
3)与grep联用,查询所有包含chrome关键字的进程详细信息,可以输入命令:
ps -ef|grep chrome
13.【kill】命令
13.1 说明
用于删除执行中的程序或工作
语法:kill 参数/信号 进程
13.2 示例
1)要查询kill的所有信号,可以输入命令:kill -l
2)杀死进程PID为21666的进程,可以输入命令:kill -9 21666
四、总结
即使你记住了这些命令,在实际操作linux中还是会遇到不少的问题。一定要学会多看报错信息,多思考,多练习才能够熟练运用!