学会Linux,看完这篇就行了!

2022-09-20 00:00:00 功能 命令 文件 描述 含义

对于测试同学来说,Linux基本属于必学必会内容,招聘要求中基本都会出现Linux相关字眼,面试也经常被问到,原因很简单,因为现在公司的服务器绝大多数都是Linux,如果你一无所知,很多时候听不懂别人在说什么,自然而然也很难开展工作。

那么对于测试人员来说,Linux在日常工作中有哪些应用场景呢?

  • 搭建测试环境

    对于测试环境的搭建,稍微具备一定规模的公司,一般是由专门的运维人员进行环境搭建和维护,包括生产环境和测试环境;如果只有几个人的初创公司,都不存在运维这个岗位,那么自然而然就需要测试人员或开发人员来搭建了;有时候需要本地部署测试,因此也可能需要测试人员自己搭建一套环境。

  • 查看日志,分析定位Bug

    查看日志用的比较多的就是tail和grep这两个命令,前者是动态查找,后者是查找。

    先说一下tail动态查找,一般格式为tail -f -n,-f 表示持续侦测,实时请求一下页面或者接口就会刷新的日志出来,比如tail -f logs/catalina.out,要等到按下ctrl+c才能退出tail的侦测,-n 这里的n需要替换成具体的数字,表示显示几行的意思,如tail -5 caituotuo.log就表示查看末尾5行。

    再说一下grep查找,一般是根据开发代码中打印的关键字信息去查找日志,比如关键字是caituotuo,就可以使用grep caituotuo test.log进行查找,对于关键字是什么,日志文件名是什么,以及去哪个服务器里面查找等问题如果不清楚可以问下开发同学。现在一般都是微服务架构,不同的服务处理不同的业务,可能就会有多类日志文件,比如前台日志、后台日志、缓存日志等,每类日志可能还会根据时间进行分别存储,比如按日生成一份日志文件2022-9-17.log、2022-9-18.log,不同公司可能不太一样,但是方式都是大同小异。

  • 性能监控,监控操作系统服务器硬件资源

    监控CPU会用到top命令;监控内存会用到free命令如free /proc/meminfo;监控磁盘会用到df、du命令;监控网络会用到netstat命令,如netstat -ntpl。

    同时监控以上四个资源可以用到vmstat或dstat,也可以用可视化工具nmon对操作系统硬件资源进行监控。

  • 修改配置文件

    比如:修改Tomcat端口号 vi server.xml

以上说了这么多,可见测试人员具备Linux技能是十分重要的,下面就来介绍一下Linux以及一些常用命令。

Linux简介

作者

林纳斯·托瓦兹(Linux Torvalds),的电脑程序员、黑客、Linux内核的发明人及该计划的合作者。

“有些人生来就是具有统率百万人的风范;另一些人则是写出颠覆世界的软件而生。一个能同时做到这两者的人,就是托瓦兹。”

美国《时代》周刊对“Linux之父”林纳斯·托瓦兹(Linux Torvalds)给出了极高的评价。甚至,在《时代》周刊根据读者投票评选出的二十世纪100位重要人物中,林纳斯·托瓦兹(Linux Torvalds)居然排到了第15位,而从20世纪的后几年就开始霸占全球首富称号的比尔盖茨(微软,Windows)不过才是第17位。

Linux版本

Linux的发行版本其实就是Linux核心(通过uname -a命令可以查看),再加上国外的实用程序组成的一个大软件包而已。

Linux常用的发行版本:

  • Ubuntu:Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“Ubuntu”一词(译为乌帮托或乌班图)。
  • Red Hat:Red Hat Linux是全世界应用广泛的Linux之一,Red Hat因其易于安装而闻名,在很大程度上减轻了用户安装程序的负担。
  • CentOS:CentOS是Community ENTerprise Operating System的简称,CentOS正是这个Red Hat的克隆版本,CentOS可以像Red Hat一样的构筑Linux系统环境,但不需要向Red Hat付任何的产品和服务费用,同时也得不到任何有偿技术支持和升级服务。

Linux优势

企业部署软件的服务器为什么大多数会选择Linux系统,在我看来主要有以下几个优点:

  • Linux系统所执行各种程序的速度是比windows要快很多的。
  • 在windows中我们会安装不同杀毒软件来保证计算机不被各种病毒攻击,但在Linux中你可以完全放心,只要有病毒在Linux中运行,不出几个小时Linux的各个版本都会进行更新,因为全世界的程序员都在维护它,因此Linux要比windows安全。
  • 在Windows中安装各种软件的时候,很多软件都会需要计算机进行重启才可以进行使用,重启导致客户体验差,但在Linux中根本不需要重启计算机,每安装一种软件都会有相应的服务,只需要使用命令重启软件服务即可。
  • Windows太浪费系统资源,但是Linux不会,在Linux系统启动后,内存与CPU消耗的资源非常少,但Windows只要一启动就会占用很大的内存。
  • 在Windows中进行编程的时候,我们要安装不同的开发软件之类的,但是在Linux,我们只需要学会一种,vi命令(纯文本的方式)就可以了。

Linux虚拟机

对于想练习Linux命令的同学,首先需要有一台Linux操作系统的虚拟机,提供几种方法:

  • 自行购买一台云服务器

  • 在线练习Linux命令网站:https://copy.sh/v86/?profile=archlinux

  • 在本机上搭建虚拟机(例如通过VMware工具搭建)

    需要VMware安装包以及搭建好的虚拟机文件可关注公众号测试蔡坨坨回复关键词虚拟机获取。

    操作步骤:

    1. 下载并安装VMware工具

    2. 下载搭建好的虚拟机文件(centOS7,已安装Java环境及MySQL数据库)

    3. 打开虚拟机文件

    4. 开机并打开网络连接,可查看IP地址并通过Xsheel和Xftp工具连接

远程工具

Linux服务器一般都是在远程,因此我们需要通过工具去连接远程服务器,工具也是多种多样,这里推荐Xshell和Xftp。

Linux常用命令

文件和目录的相关命令

  • ls命令(list directory)

    功能描述:列出指定目录下的文件和文件夹名称。

    格式:ls [参数] [目录或文件]

    参数含义
    -a列举目录中的全部文件,包括隐藏文件(开头为 . 的文件为隐藏文件)。
    -l长数据串列出,列举目录中的细节,包含权限(r/w/x/-)、所有者、组群、大小、创建日期、文件是否是链接等(不包含隐藏文件)。可以使用ll代替ls -l ,表示列出当前路径下的所有文件及文件夹的详细信息。
    -R递归查询,不仅查看当前目录下所包含的内容,还会把子目录的内容一并查询出来。
    -al列举目录中的细节,包含权限、所有者、组群、大小、创建日期、文件是否是链接等(含隐藏文件)。
    -r逆向查询,从后面向前地列举目录中的内容。
    -s文件大小,以数据块(Linux中自己的一种数据大小的表示形式)的形式做表示。
    ls -l caituotuo.txt列举文件caituotuo.txt的所有信息,也可以指定目录,例如:ls -l /etc。

    相关文章