当前位置 博文首页 > momoda118的博客:测试需要掌握的十三个linux命令及linux在测试

    momoda118的博客:测试需要掌握的十三个linux命令及linux在测试

    作者:[db:作者] 时间:2021-08-16 22:01

    作为测试需要掌握的linux命令有哪些?

    面试常问的linux命令又是哪些呢?

    linux在测试中的应用场景有哪几种?

    下面一一为你解答:

    一、linux在测试中的常用应用场景

    1.查询日志
    因为测试环境和开发环境是独立分开的。
    在我们测试过程中,当接口报错、服务器状态异常时都需要在linux中查看输出日志并将其反馈给开发。

    2.部署服务(中高级测试需要掌握)
    开发提测后的服务都需要在测试环境中进行部署,就涉及一些nginx、mysql配置、shell脚本、java环境搭建等的一些操作学习

    3.分布式自动化、性能测试(中高级测试需要掌握)
    jmeter的性能瓶颈不高,在大压力场景下的测试场景中需要多台机器进行分布式的性能测试,这个时候就可能需要在linux中搭建分布式环境进行多台主机、服务器的管理和并行。

    二、常用命令

    写在前面
    即使你记住了这些命令,在实际操作linux中还是会遇到不少的问题。一定要学会多看报错信息,多思考,多练习才能够熟练运用!

    1.tail命令
    说明:查看文件内容,测试中常用于查看日志
    格式:tail 参数 文件
    参数:
    -f 实时读取 (需重点掌握它,其余的参数了解就行)
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示文件的尾部 n 行内容
    –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
    -q, --quiet, --silent 从不输出给出文件名的首部
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

    这一定是面试最常问且最应该掌握的命令!
    在我们测试过程中,这个命令常常伴随着我们。当测试的项目接口报错时,通常需要在服务器上使用该命令查看错误日志反馈给对应开发!
    举例说明:
    例如我们目录下有一个log文件:
    在这里插入图片描述
    1.我们可以使用:
    tail -f csdn.log
    来实时读取它
    在这里插入图片描述
    2.如果要查看最后200行的内容并实时读取,则命令为:
    tail -200f csdn.log
    3.如果不带参数直接跟文件的话:
    tail csdn.log
    则默认显示的是最后10行的内容

    2.grep命令
    说明:用于查找文件里符合条件的字符串
    语法:grep 参数 ‘查找字符串’ 文件名
    常用参数:(了解就行,无须掌握)
    -a :将binary文件以text文件的方式查找数据
    -c :计算找到‘查找字符串’的次数
    -i :忽略大小写的区别,即把大小写视为相同
    -v :反向选择,即显示出没有‘查找字符串’内容的那一行
    举例说明:
    1.如果要查询csdn.log文件中的“完成次数:749”文本,可以输入命令:
    grep 完成次数:749 csdn.log
    在这里插入图片描述
    2.grep的常用场景并不是用于匹配字符串,二是在查询匹配进程中使用的更多:例如我要看我启动了哪些python进程,则可以输入命令:
    ps -ef |grep python

    在这里插入图片描述
    3.cd命令
    说明:切换当前目录,很基本的一个命令
    语法:cd 绝对/相对路径
    举例说明:
    1.比如我们要进入/usr/local这个目录则可以输入命令:
    cd /usr/local
    在这里插入图片描述
    2.如果此时想进入/usr/src这个目录的话可以输入:
    cd ../src,当然输入:cd /usr/src
    也是可以的。

    3.如果想返回上级目录:可以输入命令:
    cd ..

    4.ls命令
    用于查看指定目录下的内容(文件、子目录)的非常基本的命令
    语法:ls 参数 路径 (不带路径则全局搜索)
    常用参数:
    -l :列出长数据串,包含文件的属性与权限数据等
    -a :列出全部的文件,连同隐藏文件(开头为.的文件)(需掌握)
    -d :仅列出目录本身,而不是列出目录的文件数据
    -h :将文件容量以较易读的方式(GB,kB等)列出来
    -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
    举例说明:
    1.查看有哪些文件、文件夹可以输入命令:
    ls
    在这里插入图片描述
    2.查看文件、文件夹的权限和属性等信息,可以输入命令:
    ls -lll
    在这里插入图片描述
    3.查看/root/simpleApi(指定目录)下的文件信息,可以输入命令:
    ls /root/simpleApi/
    在这里插入图片描述
    5.find命令
    说明:用来在指定目录下查找文件
    语法:find 路径 参数 操作
    常用参数:(了解就行)
    -name test:查询指定目录下,命名为test的文件
    -size +100k:查询指定目录下,文件大于100K的文件
    -ctime n:查询指定目录下,在过去n天内被修改过的文件
    举例说明:
    1.查看/root/simpleApi下文件名为test的文件,可以输入命令:
    find /root/simpleApi/ -name test.sh
    在这里插入图片描述
    6.mv命令
    说明:用来为文件或目录改名、或将文件或目录移入其它位置
    语法:mv 参数 文件 新名称/新路径
    常用参数:(了解就行)
    -f :强制移动,如果目标文件已经存在,不会询问而直接覆盖
    -i :若目标文件已经存在,就会询问是否覆盖
    -u :若目标文件已经存在,且比目标文件新,才会更新
    举例说明:
    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命令
    说明:主要用于复制文件或目录
    语法:mv 参数 文件/目录 目标文件/目录
    常用参数:(了解就行)
    -a :将文件的特性一起复制
    -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
    -i :若目标文件已经存在时,在覆盖时会先询问操作的进行
    -r :递归持续复制,用于目录的复制行为
    -u :目标文件与源文件有差异时才会复制
    举例说明:
    1.将e.log文件复制到te/te1目录下,可以输入命令:
    cp e.log te/te1
    2.将文件夹test及它下面的内容复制到test1文件夹下,可以输入命令:
    cp -r test test1

    8.rm命令
    说明:用于删除一个文件或者目录。
    语法:rm 参数 文件名/目录
    常用参数:
    -f :强制删除,忽略不存在的文件,不会出现警告消息
    -i :互动模式,在删除前会询问用户是否操作
    -r :递归删除,最常用于目录删除,慎用!!!(需掌握)
    举例说明:
    1.强制删除当前目录下的te.log文件,可以输入命令:
    rm -f te.log
    2.强制删除文件夹test及其下面的所有内容,可以输入命令:
    rm -rf te
    9.cat命令
    说明:用于查看文本文件的内容
    语法:cat 参数 文件名
    常用参数:(了解就行)
    -n 或 --number:由 1 开始对所有输出的行数编号。
    -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
    -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    -E 或 --show-ends : 在每行结束处显示 $。
    -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
    举例说明:
    1.查看csdn.log文件内容 ,可以输入命令:
    cat csdn.log
    2.查看csdn.log部分内容,可以输入命令:
    cat csdn.log|less
    10.vi/vim命令
    说明:文本编辑器,Vim是vi的升级版,常用于编码。但作为测试,往往用vi就足够了
    语法:vi/vim 参数 文件名
    常用参数:
    i:在当前光标所在字符的前面,转为输入模式;(需掌握)
    a:在当前光标所在字符的后面,转为输入模式;
    o:在当前光标所在行的下方,新建一行,并转为输入模式;
    I:在当前光标所在行的行首,转为输入模式;
    A:在当前光标所在行的行尾,转为输入模式;
    O:在当前光标所在行的上方,新建一行,并转为输入模式;
    关闭文件参数:
    :q 退出;
    :q! 不保存退出;
    :w 保存;
    :w! 强行保存;
    :wq 保存退出
    :wq! 强制保存并退出
    举例说明:
    1.需要在te.log文件中插入文本“abcd”并保存,则操作为:
    1.输入命令:vi te.log
    2.按:i
    3.输入:abcd
    4.按:esc
    5.输入:wq
    在这里插入图片描述
    6.按下 “回车”,保存成功!
    11.chmod命令
    说明:控制用户对文件的权限的命令
    对于测试而言无须记住太多,只需知道修改权限的命令即可:(了解就行)
    -r:赋予读取权限;
    -w:赋予写入权限;
    -x:赋予执行权限。
    777:赋予可读、可写、可执行权限
    举例说明:
    1.赋予te.log读取权限,可以输入命令:
    chmod -r te.log
    12.ps命令
    说明:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。
    语法:ps 参数
    常用参数:
    -A 列出所有的进程 (需掌握)
    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -ef 查看全格式的全部进程 (需掌握)
    -aux 显示所有包含其他使用者的行程
    举例说明:
    1.列出所有进程,可以输入命令:
    ps -A
    在这里插入图片描述
    2.查看当前运行中的进程,可以输入命令:
    ps
    3.与grep联用,查询所有包含chrome关键字的进程详细信息,可以输入命令:
    ps -ef|grep chrome
    在这里插入图片描述
    13.kill命令
    说明:用于删除执行中的程序或工作
    语法:kill 参数/信号 进程
    常用参数:
    -l 参数会列出全部的信息名称。
    -s 指定要送出的信息。
    常用信号:
    1 (HUP):重新加载进程。
    9 (KILL):杀死一个进程。(需掌握)
    15 (TERM):正常停止一个进程。
    举例说明:
    1.要查询kill的所有信号,可以输入命令:
    kill -l
    在这里插入图片描述
    2.杀死进程PID为21666的进程,可以输入命令:
    kill -9 21666

    掌握了这些命令,就能够应付大部分测试岗的面试了!
    测试交流、答疑Q群:814078962

    cs