测试工程师必会的 Linux 技能

前言:自从柠檬班自动化课程升级加入了Docker技术之后,Docker相关操作都在Linux上,很多同学自己在操作的时候导致各种问题,有些命令不存在,环境变量不会配,容器访问不了,启动 错等等一些列问题。导致这些问题的根源还是大家对Linux操作系统不熟悉,接下来我们就讲一下作为测试工程师应该掌握哪些Linux技能。

一、什么是Linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和 络协议。它支持32位和64位硬件。Linux继承了Unix以 络为核心的设计思想,是一个性能稳定的多用户 络操作系统。Linux有上百种不同的发行版,如基于 区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。简单来说Linux和windows一样也是一个操作系统,但是又区别与windows。

二、Linux与windows区别
  1. 源:Linux是开源的,windows是闭源的。
  2. 内核:Linux操作系统使用Linux内核,Windows操作系统使用NT内核。
  3. 软件支持:Linux软件支持很少,Windows软件支持丰富,目前大部分硬件驱动厂商都支持Windows少部分支持Linux
  4. 人机交互:Linux使用命令行模式为主要交互方式,有一定的门槛。windows通过图形界面使用鼠标点击为主要交互方式,易用性更好。
  5. 市场定位:Linux市场主攻服务器市场,Windows系统主打桌面市场。所以企业服务器都是用的Linux系统,而日常办公都是实用的Windows系统。
三、Linux目录介绍

在学习Linux之前,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关重要。

  • 环境变量配置
    vim /etc/profile
  • 修改配置文件后重新加载配置文件
    source /etc/profile
  • 显示当前系统中资源消耗情况
    top
  • 显示当前内存和交换空间使用情况
    free -m
    free -h
  • 显示文件系统磁盘空间的使用情况
    df
  • 显示 卡
    ifconfig
  • 检查 络或者项目是否可访问
    ping www.baidu.com
    curl -I 172.40.1.142:18001/lemnon-base
  • 查看进程
    ps -ef | grep 进程名称
  • 结束进程
    kill -9 PID
  • 查看端口
    netstat: netstat -an |grep 8080
    lsof -i :8080
  • 五、服务器时间相关命令
    1. 查看当前时间
      date
    2. 修改时间时分秒
      data -s “11:30:30”
    3. 修改完整时间
      data -s “2021-12-12 11:30:30”
    4. 同步 络时间
      如果没有ntpdate命令要先安装,-u参数可以越过防火墙与主机同步
      ntpdate -u ntp.api.bz
    5. 查看硬件时间
      hwclock –show
    6. 将系统时间写入到硬件
      hwclock -w
    7. 设置系统时间和硬件时间同步
      hwclock –hctosys
    8. 注意点
      修改服务器时间修改的是系统时间,如果不写入硬件,服务器重启后设置的时间会失效。
    六、防火墙相关命令
    1. 查看firewall服务状态
      systemctl status firewalld
    2. 查看firewall的状态
      firewall-cmd –state
    3. 查看防火墙规则
      firewall-cmd –list-all
    4. 开启防火墙
      service firewalld start
    5. 重启防火墙
      service firewalld restart
    6. 关闭防火墙
      service firewalld stop
    7. 查询端口是否开放
      firewall-cmd –query-port=8080/tcp
      返回no表示未开放,yes表示已开放
    8. 开放指定端口
      firewall-cmd –permanent –add-port=8080/tcp
    9. 从防火墙规则中移除指定端口
      firewall-cmd –permanent –remove-port=8080/tcp
    10. 重启防火墙
      firewall-cmd –reload
      修改配置后要重启防火墙才会生效
    七、文件与目录操作
    1. 跨服务器拷贝命令
      scp -r testdir root@172.21.0.132:/mnt/test

    2. 文字过滤:在指定文件中查找包含指定内容的行,在test1.log中查找包含aaa的所有行
      grep aaa test1.log

    3. 动态查看文件
      tail -200f test.log

    4. 读取标准输入的数据,并将其内容输出成文件,追加写入
      grep Linux boot.log | tee -a 2022.txt
      tail -200 test1.log | grep ‘test’ | tee -a test2.log

    5. 查找包含 name 或者 age 的行(两个条件)
      sed -n ‘/name/,/age/p’ aaa.txt

    6. 查看文件的创建、修改时间
      stat text.txt
      Access:文件最近访问时间
      Modify:文件内容最近修改时间
      Change:文件属性最近修改时间

    7. 覆盖写入文件

    8. 追加写入文件

    9. vim常用操作

    八、压缩与解压

    tar命令

    1. 将test.txt 压缩成test.tar文件,被压缩文件可以是多个文件或者文件夹
      tar -cvf test.tar test.txt
    2. 解压缩.tar文件
      tar -xvf test.tar
    3. 是否需要使用gzip压缩和解压(压缩/解压 .gz 和 .tar)
      tar -zcvf test.tar.gz test.txt
      tar -zxvf test.tar.gz

    zip命令

    1. 压缩递归处理,将test1.txt 压缩成 test.zip文件,被压缩文件可以是多个文件或者文件夹
      zip -r test.zip test.txt
    2. 解压缩.zip文件
      unzip test.zip

    gzip命令

    1. 压缩命令后面的文件,原文件会消失,直接变成压缩后的文件
      gzip test.txt
    2. 解压test.txt.gz
      gzip -d test.txt.gz
    3. 递归解压
      gzip -dr test.txt.gz
    九、文件与目录权限相关

    文件或目录权限
    u:表示文件所属者;
    g:表示用户组;
    o:表示其他用户
    r:4可读权限;
    w:2可写权限;
    x:1可执行权限;
    -:0表示无权限
    +:表示添加权限;
    -:表示去掉权限
    chmod u+x test.txt: 给当前用户添加可执行权限
    chown user:group test.txt 修改文件所属用户和所属组
    chown -R user:group test.txt 修改指定目录以及其子目录下所有文件所属用户和所属组

    十、用户相关

    useradd testUser: 添加用户
    passwd testUser: 修改用户密码
    userdel testUser: 删除用户

    文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211711 人正在系统学习中

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年2月3日
    下一篇 2022年2月3日

    相关推荐