• 软件测试工程师在工作中需要的Linux知识,一篇文章就够了


    1、Linux系统简单介绍

    Linux是一套免费使用, 支持多用户、多任务、支持多线程和多个核心CPU的操作系统;很多中型, 大型甚至是巨型项目都在使用Linux。

    Linux的发行版说简单点就是将Linux与应用软件做一个打包, 目前市面上比较知名的发行版有: Ubuntu, RedHat, CentOS(community enterprise operating system)等等。

    在这里插入图片描述

    2、为什么要学习Linux?

    项目服务器一般都是Linux系统,负责搭建及维护测试环境,负责跟踪及定位Bug。

    在这里插入图片描述

    02 Linux初中级命令

    • 通过xshell与xftp远程操作Linux系统

    • xshell与xftp是什么?

    xshell是一个客户端软件, 我们在本地Windows上用它来连接Linux系统(服务器), 并通过它提供的命令行界面操作Linux。

    xftp是一款文件传输软件, 可以将本地Windows上的文件传输到服务器Linux系统上

    如果xshell连接页面显示的为乱码. 则需要把默认语言改为unicode(utf-8), 点击菜单栏中的地球图标即可更改

    01 Linux初级命令

    • 系统管理相关命令

    • 登录基本信息

    • 当前登录用户名

    • #管理员用户提示符

    • $ 普通用户提示符

    • 主机名

    • 当前目录

    • hostname:查看主机名

    • who:查询登陆到系统的用户

    • whoami:确认自己身份

    • history:查看当前用户运行命令的历史

    • ifconfig:显示或设置网络设备的命令, 我们可以通过这个命令查看服务器的IP地址

    • ping:ping是Windows、Unix和Linux系统下的一个命令。Ping也属于一个通信协议, 是TCP/IP协议的一部分。利用 ”ping” 命令可以检查网络是否连通

    Linux系统目录结构

    Linux的文件系统是采用层级式的树状目录结构, 在此结构中的最上层是根目主目录, 下层是各种各样的子目录和文件.

    理解根目录下的相关linux文件目录是非常重要的:

    在这里插入图片描述

    目录操作命令

    pwd 命令 显示当前路径

    cd 命令 切换目录

    用法: cd 目录路径

    cd ./ 当前目录

    cd … 切换到上级目录

    cd / 切换到根目录

    cd ~ (或只有cd )切换到当前用户 主目录(home底下以用户名命名的文件夹) /root目录

    cd /opt à cd bin的区别

    mkdir 创建目录

    mkdir 目录名 –p 加p与不加p的区别

    rmdir 删除空目录

    用法: rmdir 目录名

    也可用: rm -rf 目录名/文件名

    02 Linux中级命令

    文件操作命令01

    在Linux系统中, 几乎所有内容包括文档、命令、设备和目录等都组织成文件的形式,用文件来管理;

    常用文件命令有:

    touch 新建文件 用法touch fanmao.txt

    vi 是linux下常用的、功能强大的文本编辑器

    按键盘i进入编辑状态

    退出编辑状态按ESC键 退出方法

    不保存退出: :q! 强制退出

    保存退出: :wq

    进入文件的时候:

    输入 /fanmao: 从光标开始处向文件尾搜索fanmao

    输入 ?fanmao: 从光标开始处向文件首搜索fanmao

    输入 :set nu, 显示每一行的行数

    按键盘G, 可以直接定位到最末尾

     注意: 键盘输入, 都是英文输入法进行输入
    
    • 1

    文件操作命令02

    ls 查看目录及文件

    用法: ls [选项]路径(若没有路径则显示当前目录的内容)

    -a 显示所有文件 隐藏文件

    -l 显示文件属性

    cp 复制命令

    用法: cp [选项]文件名或目录 目标地址

    -R 拷贝目录及目录下所有目录和文件 目录(文件夹)

    cp a.txt b.txt 将a文件复制, 且另命名为b文件(目录名)

    mv 移动命令

    用法: mv 文件名或目录 目标目录

    mv a.txt …/ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)

    mv a.txt …/b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)

    文件操作命令03

    rm 删除文件和目录

    -f 强制删除

    -r 删除目录

    常用: rm -rf 文件或目录

    find 查找文件

    用法: find [路径] [选项]

    常用选项有:

    ① find . –name *.log 在当前目录查找以.log结尾的文件

    ② find / -name log 在根目录查找log命名的目录

    grep 在指定文件中查找字符(串)并打印该行:

    过滤, 经常跟管道符号一起出现 |

    用法: ① grep 字符串 文件名

    ② grep band file 在file文件中找寻band字符串

    文件操作命令04

    cat 显示文本文件内容

    用法: cat 文件名 cat 文件名字

    head 查看前几行

    用法: head –n 5 文件名

    tail 从指定点开始将文件写到标准输出, 使用tail命令的-f选项可以方便的查阅正在改变的日志文件

    ① tail –n 5 文件名 查看后几行

    ② tail –f error.log 不断刷新, 看到最新内容

    系统资源查询命令

    ps 查看进程(动态)

    -ef 显示所有运行进程, 并显示启动进程的命令

    Uid 用户ID, PID: 进程id, PPID: 父进程, C: 进程cpu占用率, Stime: 进程从启动到现在的时间, TTY: 终端号, CMD: 命令名称和参数

    netstat 查看网络状态(net status的简写)

    netstat –apn 查看所有端口

    an, 按一定顺序排列输出

    p, 表示显示哪个进程在调用

    思考:
    
    如果要过滤某个端口或者是某个进程怎么写?
    
    补充
    
    kill: 杀死进程  (kill -9 进程号 强制杀死进程)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    管道命令

    管道使用”|”符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入

    如:ll | grep abc:管道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录

    工作常见情况: 杀死进程(比如杀死tomcat进程)

    通过进程名找到进程,再杀死进程

    通过命令|查找tomcat进程:ps –ef | grep tomcat (ps –ef是查找所有运行的进程, 通过管道符找到所有进程中包含了”tomcat”字符串的进程,即为tomcat进程),例如: 5541

    杀死此进程, kill -9 进程id (kill -9 5541)

    通过端口来找到进程, 再杀死进程

    通过命令查找到占用此端口的进程编号: netstat –apn|grep 8080 根据8080查进程, 假如: 5541

    杀死进程: kill -9 pid (kill -9 5541)

    补充知识点—新手须知
    
    错误提示: command not found, 命令没有找到, 看到这个命令第一反应是去检查命令是不是写错了
    
    Linux中复制目录报错 cp : omitting directory—一般出现这个错误, 是目录下面的目录, 不能直接拷贝    -R 遍历所有内容
    
    PS:
    
    Ctrl + c   结束当前正在运行的程序
    
    Tab键     使用, 自动关联, 快速补齐
    
    方向键 ”上” 、”下”, 对历史命令, 上一个, 下一个进行查找
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    03 Linux高级命令

    01 赋权命令chmod‍

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限,为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或ls –l命令来显示一个文件的属性以及文件所属的用户和组;

    如:

    在这里插入图片描述

    图片

    chmod  语法: chmod [-R] 753(数字)    文件或目录
    
        读(r):   4          写(w):  2        执行(x):  1
    
        chmod  –R  754  fanmao07
    
    测试环境:  chmod  –R  777   fanmao07
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    02 压缩解压命令

    解压tar.gz

    将文件压缩成.tar.gz/ .tar格式用tar命令, 使用-z调用gzip

    例如: 将test文件夹压缩成test.tar.gz

    tar –czvf test.tar.gz test

    将.tar.gz/ .tar格式文件解压也是使用tar 命令

    例如: 将test.tar.gz解压得到test文件夹

    tar –xzvf test.tar.gz

    命令参数详解:

    -c 建立归档/压缩

    -x 解归档/解压

    -z 有gzip属性的压缩文件

    -v 显示所有过程

    -f 使用档案名字, 必须项, 是最后一个参数, 接文件名

    解压zip

    将文件压缩成.zip格式用zip命令

    例如: 将test文件夹压缩成test.zip, 必须带r 才会把文件压缩进去, 不然会生成一个空的文件夹

    zip –r test.zip test

    将.zip格式的压缩文件解压使用unzip命令

    例如: 将test.zip文件夹解压

    unzip test.zip

    03 开关防火墙命令

    即时生效,重启后失效

    启: service iptables start

    关闭: service iptables stop

    04 重启、关机、注销命令

    重启命令:reboot

    其它: shutdown –r now

    关机命令:halt

    其它: shutdown –h now

    poweroff

    注销:logout

    补充内容:(常见的网络知识点)

    防火墙的概念

    所谓”防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法, 它实际上是一种隔离技术,保护内部网免受非法用户的侵入,它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过

    线上环境的防火墙设置

    运维/开发管理维护

    测试环境的防火墙设置

    若内网测试, 务须设置, 直接关闭

    最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

    现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

    喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

    软件测试工程师自学教程:

    这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

    接口性能测试 — 软件测试人必会618实战场景分析

    软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

    美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

    测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

    软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

    Jmeter实战讲解案例 — 软件测试人必会

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    LeetCode-24. Swap Nodes in Pairs [C++][Java]
    设计模式02———建造者模式 c#
    使用序列化技术保存数据 改进 IO流完成项目实战水果库存系统
    说说你对slot的理解?
    hdu 6109 数据分割
    人工智能在医疗领域的革命性应用
    二叉搜索树
    如何查看java对象占用内存的信息?
    基于SpringBoot的社区医院信息平台
    应用发布新版本如何保障流量无损
  • 原文地址:https://blog.csdn.net/m0_67695717/article/details/126247573