软件测试基础篇——Linux

1、Linux系统的特征

  1. 开源免费:

    开源:开放源代码,指的是底层的源代码是可以开放出来,给相关的开发者,根据实际的需求做出修改的。

    免费:不花钱,自由传播。

​ Linux是一种免费使用和自由传播的类似于UNIX操作系统,其中包括真正的多任务、共享库、需求装载、程序执行、优秀的内存管理以及 TCP/IP网络支持等。

​ Linux的基本思想有两点:第一,一切都是文件;第二,每个文件或者目录都有确定 的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件 设备、操作系统、进程等等

2、文本编辑器

vi/vim命令:

​ 作用:创建文件、编辑文件、查看文件

​ 格式:vi/vim 文件名

​ 备注:如果文件不存在,就会创建;如果文件存在,就可以进行编辑或查看

面试点:vi/vim进行文件操作时,会经历几种模式? 3种

命令模式:vi/vim 文件名 ——>命令写完后,按下回车键,相当于打开了这个文件

编辑模式:需要按下i或a键,进入到编辑操作

末行模式:当编辑完成后,按下esc键退出编辑模式

可以使用的参数:

:wq:保存并退出

:wq!:强制保存并退出

:w:保存

:q:退出

:q!:强制退出

dd 删除一行文字

x 删除一个字符

:行数 光标跳转到指定的行

$ 光标跳转到行尾

G 光标跳转到末尾(最后一行的首个字符)

/关键词 从光标所在的当前位置开始查找和该关键词相关的数据(就近原则)

备注:文本文件格式:文件名.文件的后缀 1.txt 2.doc 3.iso…Linux系统中文件可以没有后缀

3、Linux常见的操作命令

学习技巧:①命令的作用 ②命令的语法 ③命令和参数结合的作用

  1. Linux系统中管理文件和目录的操作命令

    • pwd 打印(显示)当前所在的路径(目录)

      ​ [root@localhost ~]# pwd

      ​ /root

    • cd 切换目录(改变路径)

      ​ 格式:cd 目录(注意好目录路径)

      ​ 例:切换到home目录下:cd /home

    • cd… 返回上一级目录(退出当前所在的文件夹)

      例:/a/b/c/d ——>cd… ——>/a/b/c

    • cd 返回当前用户的主目录(家目录)

      root用户:cd——>/root

      普通用户:cd——>/home/用户名目录

​ 综合练习:Linux系统中更改网络配置

​ a.先进入存放网络配置文件的目录:/etc/sysconfig/network-scripts

​ cd /etc/sysconfig/network-scripts

​ b.编辑网络配置文件:一般是目录下的第一个文件

​ c.修改ONBOOT=yes,开启网络自启动连接

​ d.重启网络服务:service network restart (可选可写)

  • ls 查看(显示)目录下的内容

​ 格式一:ls 查看当前目录下的内容

​ 格式二:ls 目录名 查看指定目录下的内容

​ 格式三:ls 参数 目录名/文件名

参数:

  • ls -a 查看目录中所有的内容,包括隐藏文件
  • ls -l 查看目录下每个文件或文件夹的详细细节属性(权限,大小,创建/修改时间,所属的用户)

​ 备注:如果-l后面写的是一个文件名:查看该文件的属性;如果-l后面写的是一个目录名:查看该目录下的每一个文件和文件夹的属性

  • ls -r:逆向显示查看的内容
  • ls -R:不仅查看目录下的内容,还把子目录(嵌套目录)的内容一并做查看

​ 例:ls -R /home 查看home目录下的内容,包括子目录(嵌套目录)的目录

  • ls -al:查看目录中所有(包含隐藏)文件和文件夹的属性信息
  • cat 显示文本的内容

​ 格式:cat 文件名

​ -n:显示行数 cat -n 文件名

​ 备注:当命令和参数做结合时:Linux命令 参数 其他

  • touch 创建空白的文件

​ 格式:touch 文件名

​ 一次创建多个文件:touch 文件名1 文件名2 文件名3…

  • grep 在文件中进行关键字数据查找操作

​ 格式:grep 关键字 文件名

​ 默认查找是区分大小写

​ -n:显示行数+内容,写法:grep -n 关键字 文件名

​ -i:不区分大小写,写法:grep -i 关键字 文件名

  • cp 复制文件

​ 格式:cp 源文件(要复制的文件) 目标文件(复制到的地方)

​ a.复制当前目录下的文件到指定的位置

​ b.复制的文件没有在当前目录下,需要把文件路径写完整

​ c.复制文件也支持重命名操作

​ d. ***** 任意,所有的意思—–>.txt 所有的后缀是.txt文件 f.doc f开头的,后缀是.doc的所有文档 t.:t开头所有文件, . :所有文件

​ 例:将桌面中所有后缀是.txt的文档,复制到boot目录

​ 参数: -i:复制的文件到指定的位置,如果有同名的,会提示是否覆盖(默认)

​ -v:显示复制的进度

-r:复制目录

  • mv 移动(剪切)文件和目录

格式:mv 源文件 目标文件

​ -i 覆盖的友好提示(默认)

​ -v 移动的进度

​ -f 强制移动

  • mkdir 创建目录

​ 格式:mkdir 目录名 目录2 目录3…

​ 创建嵌套的目录:mkdir -p 目录名1/目录名2/目录名3…

  • rmdir 删除空目录

​ 格式:rmdir 目录名 目录名2 目录名3…

扩展:-p 删除指定目录,如果指定目录被删除后,它的上一级目录为空,也会一并删除

  • rm 删除文件

​ 格式:rm 文件名 文件名2 文件名3…

​ -i 删除时给出确认提示(默认)

​ -f 强制删除

​ -v 删除的进度

​ -r 删除目录(空+非空)

​ -rf 强制删除目录

4、线上查询命令

  1. man 用来查看某个Linux命令的注意事项(帮助文档)

    格式:man Linux命令

    按下q键退出查看

  2. locate 定位文件或目录

​ 格式:locate 关键词 显示文件或目录名中包含该关键词的位置(名字)

  1. whatis 查看Linux命令的作用

​ 格式:whatis Linux命令

5、Linux系统实现对文件或目录的压缩(打包)或解压缩的操作

  1. bzip2 对文件进行压缩

​ 格式:bzip2 文件名 文件名2 文件名3…

​ 产生压缩文件后缀:XXX.bz2

  1. bunzip2 对.bz2的压缩包进行解压

​ 格式:bunzip2 文件名1.bz2 文件名2.bz2 文件名3.bz2…

  1. gzip 压缩文件

​ 格式:gzip 文件名 文件名2 文件名3…

​ 产生压缩文件后缀:XXX.gz

  1. gunzip 对.gz的压缩包进行解压

​ 格式:gunzip 文件名.gz 文件名2.gz 文件名3.gz…

​ gzip -r 目录名 对目录中所有的文件进行压缩.gz

​ gunzip -r 目录名 对目录中所有的.gz文件进行解压操作

  1. tar 对文件或目录进行压缩和解压缩操作

    • tar实现对目录压缩操作(默认)

      格式:tar 参数 压缩后文件的名字.tar 目录名

    参数:

    ​ -c 压缩

    ​ -x 解压缩

    ​ -t 在不进行解压的情况下,查看tar压缩包的内容

    ​ -z 代表gzip

    ​ -j 代表bzip2

    ​ -v 显示压缩或解压缩的进度过程

    ​ -f 指定名字

    目录压缩:-cvf

    目录的解压缩(.tar压缩包):-xvf

    • tar实现对目录解压缩操作:tar -xvf 压缩包名字.tar

    • 可以将多个目录,压缩在同一个压缩包:tar -cvf 压缩包名字.tar 目录名1 目录名2 目录名3…

    • tar实现对文件压缩

      格式一:tar -czvf 压缩后文件名.tgz 文件名 ——>tar+gzip

      格式二:tar -cjvf 压缩后文件名.tbz 文件名 ——>tar+bzip2

    • tar实现对文件解压缩

      格式一:tar -xzvf 压缩包名.tgz

      格式二:tar -xjvf 压缩包名.tbz

    • -tvf:查看tar包中的内容(不解压)

      格式:tar -tvf 压缩包名.tar


回顾
  1. 对目录和文件的操作命令:

​ cat 显示文本/文件的内容 -n 显示行号

​ touch 文件 创建

​ grep 关键词 文件名 从文本中查看和该关键词相关的数据 -n 显示行号 -i 忽略大小写

​ cp 复制文件 -r 复制目录

​ mv 移动文件和目录

​ mkdir 创建目录

​ rmdir 删除空目录

​ rm 删除文件 -r 删除目录 -f 强制删除

  1. 线上查询命令

​ man Linux命令 查看该命令的使用方式

​ whatis Linux命令 查看命令的作用

​ locate 关键词 查看名字中包含该关键词的文件或目录(名字)

  1. 压缩和解压缩

​ bzip2 文件 ——>XXX.bz2 压缩

​ bunzip XXX.bz2 解压缩

​ gzip 文件 ——>XXX.gz 压缩

​ gunzip XXX.gz 解压缩

  1. tar命令:

​ 对目录压缩:tar -cvf 压缩名.tar 目录名

​ 对目录解压缩:tar -xvf 压缩名.tar

​ 对文件压缩:

​ 格式一:tar -czvf 压缩名.tgz 文件名

​ 格式二:tar -cjvf 压缩名.tbz 文件名

​ 对文件解压缩:

​ 格式一:tar -xzvf 压缩名.tgz

​ 格式二:tar -xjvf 压缩名.tbz


  1. 文件阅读命令

①head 查看文件头部内容(前十行)

​ 格式:head 文件名

自定义查看行数:head -行数 文件名

注意:空行/空格也算作一行

②tail 查看文件尾部的内容(默认后十行)

​ 格式:tail 文件名

自定义查看行数:tail -行数 文件名

③more 分页查看

​ 格式:more 文件名

​ 翻页查看:向下:空格键 向上:B 键 退出:q

设置每页显示的行数:more -行数 文件名

从指定的位置开始分页查看:more +行数 文件名

例:从10行开始看 more +10 文件名

了解:more +/关键词 文件名 从文件中定位该关键词相关的数据,第一次出现的位置,并从该位置的前两行开始,把剩下的内容进行分页查看

| 管道符:将前面命令结果的输出,当作后面命令的输入

例:Linux命令1 | Linux命令2 ——>将命令1的结果,交给命令2进行“二次加工”

例:将etc目录下所有文件和目录的详细属性信息进行分页查看,每次查看5行

image-20230713211835690

  1. 定位,查找文件命令

①which Linux命令 查找和该命令相关的文件

​ 注意:查找到一个,就会立刻停止

②whereis Linux命令/程序名 查找和该命令或程序相关的文件

​ -b 只查找命令或程序相关的可执行文件(二进制文件)

​ -m 只查找命令或程序相关的帮助说明文档

  1. Linux系统中管理使用者和设置权限的命令

①useradd 添加用户

​ 格式:useradd 用户名

②passwd 修改/设置密码

​ 格式:passwd 用户名

③userdel 删除用户

​ 格式:userdel 用户名 删除用户,但是用户相关的目录会保留在home目录下

​ userdel -r 用户名 彻底删除用户

④su 切换用户

​ 格式一:su 用户名 切换用户,但是新用户使用的系统环境还是由上个用户所保留的

​ 格式二:su -l 用户名 切换用户,同时把新用户的环境一并切换进来

  1. 权限

    1. 权限构成的总长度:10位
    2. 权限划分成四组来进行分析:
    第一组占一位表示的是文件的类型-:文本文件 d:目录或文件夹
    第二组占三位表示的是文件拥有者的权限、文件主人、文件所属者的权限u表示
    第三组占三位表示的是和文件拥有者同组成员的权限g表示
    第四组占三位表示的是其他人的权限o表示

    权限的类型:

    • r 读的权限
    • w 写的权限
    • x 执行(运行)的权限
    • rwx:可读可写可执行 如果没有该权限,会用 - 直接替代

​ 语法:chmod 用户身份(ugo)+权限 文件名/目录名 添加权限

方法一:权限的修改操作:+ 添加权限 - 去掉权限 = 重新赋予权限

​ 例:将所有人的权限改为可读可写可执行:chmod a=rwx file.txt

​ 方法二:数字修改法:r—读—4 w—写—2 x—执行—1

​ 格式:chmod 三个数字 文件名/目录名 三个数字分别代表的是u g o

​ 例:chmod 765 file.txt ——>rwx rw- r-x

  • chown 更改文件的拥有者

​ 格式:chown 用户名 文件名

  • chgrp 更改文件所属的群组

​ 格式:chgrp 用户名 文件名

注意:上述操作,只有root用户(系统管理员)才能进行操作

  1. 有关关机和查看系统信息的命令

①exit 退出

​ 注意:直接退出终端窗口(界面),如果前期有切换用户的操作,可以退出用户切换记录

②重启 reboot

​ shutdown -r now|时间点11:30

③关机 halt

​ shutdown -h now|时间点11:30

​ 扩展:shutdown -t 分钟数 在指定分钟数内进行关机

④查看进程信息

​ 进程:指的是系统一个个正在运行的程序

​ ps:静态查看进程信息

​ top:动态查看进程信息

​ PID属性:进程ID,系统给每一个正在运行的程序分配的序列号,唯一

​ 按下q键,终止进程信息的查看

​ ps u 列出进程的使用者(user)

​ ps x 列出所有进程的pid(进程号)

⑤kill 结束进程

​ 格式:kill PID

⑥date 显示系统日期和时间

​ date -r 文件名 #查看该文件最后一次修改的时间

​ date -s 时间点11:30 #修改时间

​ date -u 查看格林尼治时间

⑦cal 日历 默认显示当前月份

​ cal 年份 #显示指定年份日历数据

​ cal 月份 年份 #显示指定年中月份数据

  1. 磁盘操作空间命令

    ①df a 查看磁盘(文件系统)的使用情况

    ②du -ab 查看文件或目录所占的磁盘空间(文件或目录大小)

    例:du -ab /etc #查看etc目录下每个文件或文件夹所占的磁盘空间

  2. 网络操作命令

①ip addr 查看网络配置信息(IP)

​ 修改网络配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33 ——>ONBOOT=yes 开启网络自连接

②ping 检测网络通不通

格式一:ping 域名(网站的名字) 例:ping www.baidu.com

格式二:ping ip地址 检测当前主机与IP对应的目标主机之间是否能够进行通信 例:ping 10.9.6.23

③netstat 查看/显示网络的使用情况(状态) 了解

​ 类似于查看网络访问/使用的历史记录

  1. 其他命令

​ ①clear 清屏

​ ②echo 输出

​ 格式:echo “输出的内容”

​ ③uptime 显示系统运行的时间

​ ④wc 统计一个文本的行数、字数、字节数

​ 格式:wc 文件名

​ -l 行数

​ -w 字数

​ -c 字节数

​ 字数统计算法:是以字符为整体来统计的,例:

​ 第一行:软件测试—–>这四个字是连在一个整体,这一个整体会认为是一个字

​ 第二行:test testing ——>这是两个字

综合练习:Linux系统中更改网络配置

​ A.先进入存放网络配置文件的目录:/etc/sysconfig/network-scripts

​ cd /etc/sysconfig/network-scripts

​ B.编辑网络配置文件:一般是目录下的第一个文件 vi ifcfg-ens33

​ C.修改ONBOOT=yes,开启网络自启动连接

​ D.重启网络服务:service(服务) network(网络) restart(重启)(可选可写)


小总结

  1. 文本编辑器 vi vim 注意:操作流程

​ 命令模式—>按下i或a—>编辑模式—>按下esc—>末行模式

  1. Linux系统对文件和目录管理操作命令:

​ pwd cd Ls -R cat touch grep -n行号 cp -r mv mkdir(创建文件夹) rmdir rm -rf(删除)

  1. 线上查询命令

​ man locate whatis

注意:locate定位文件、目录,对于新产生的文件和目录,是有延迟性;如果想要获取新产生的文件、目录,可以借助于updatedb:更新系统的数据库

  1. 压缩和解压缩命令

​ bzip2 文件 .bz2 —>bunzip2

​ gzip 文件 .gz —>gunzip

​ tar 参数:

​ 目录:cvf 压缩 xvf解压缩

​ 文件:czvf cjvf 压缩 xzvf xjvf解压缩

​ tvf:在不进行解压的情况下,查看压缩包的内容

  1. 文件阅读命令

​ head tail more

  1. 文件定位,查找命令

​ which whereis

  1. 设置权限和管理使用者命令

​ useradd userdel passwd su chmod chown chgrp

  1. 关机和查看系统信息命令

​ exit reboot halt ps top(查看信息) kill(结束) date(查看日期) cal(查看日历)

  1. 查看磁盘空间操作命令

​ du(查看文件每个目录的大小) df

  1. 网络操作命令

​ 【ip addr】 ping netstat

  1. 其他命令

​ clear echo uptime wc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/75293.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytest数据驱动(最简单)

目录 第一种:通过yaml文件获取数据(一维列表) 第二种:通过yaml文件获取数据(二维列表) 第三种:通过yaml文件获取数据(pytest.fixture) 资料获取方法 第一种&#xff…

RTC实验

一、RTC简介 RTC(Real Time Clock)即实时时钟,它是一个可以为系统提供精确的时间基准的元器件,RTC一般采用精度较高的晶振作为时钟源,有些RTC为了在主电源掉电时还可以工作,需要外加电池供电BCD码,四位二进制表示一位…

【潮州饶平】联想 IBM x3850 x6 io主板故障 服务器维修

哈喽 最近比较忙也好久没有更新服务器维修案例了,这次分享一例潮州市饶平县某企业工厂一台IBM System x3850 x6服务器亮黄灯告警且无法正常开机的服务器故障问题。潮州饶平ibm服务器维修IO主板故障问题 故障如下图所示: 故障服务器型号:IBM 或…

CI/CD流水线实战

不知道为什么,现在什么技术都想学,因为我觉得我遇到了技术的壁垒,大的项目接触不到,做的项目一个字辣*。所以,整个人心浮气躁,我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末,我再次宅在…

2011-2021年数字普惠金融指数Bartik工具变量法(含原始数据和Bartik工具变量法代码)

2011-2021年数字普惠金融指数Bartik工具变量法(含原始数据和Bartik工具变量法代码) 1、时间:2011-2020(省级、城市),2014-2020(区县) 2、原始数据来源:北大金融研究中心…

【数据结构】双链表

【数据结构】双链表 一. 前言二. 带头双向链表接口实现1.准备工作2. 创建一个节点 三. 初始化4. 打印5. 尾插6. 尾删7. 头插8. 头删9. 计算节点个数10. 查找数据11. 在任意位置插入数据12. 在任意位置删除数据13. 销毁 四. 如何10分钟内完成一个完整双链表 一. 前言 带头双向循…

通达OA SQL注入漏洞【CVE-2023-4165】

通达OA SQL注入漏洞【CVE-2023-4165】 一、产品简介二、漏洞概述三、影响范围四、复现环境POC小龙POC检测工具: 五、修复建议 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损…

元宇宙时代超高清视音频技术白皮书关于流媒体协议和媒体传输解读

流媒体协议 元宇宙业务场景对流媒体传输的实时性和互动性提出了更高的要求,这就需要在传统的 RTMP、SRT、 HLS 等基础上增加实时互动的支持。实时互动,指在远程条件下沟通、协作,可随时随地接入、实时地传递虚实融合的多维信息,身…

uni-app日期选择器

写个简单的日期选择器&#xff0c;还没搞样式&#xff0c;所以有点丑 大概长这样吧 首先是这个picker选择器&#xff0c;mode选择日期&#xff0c;end是写一个范围前日期&#xff0c;:end就是这个日期是动态变化的&#xff0c;还有change函数 <template><view>&l…

Mybatis 初识

目录 1. MyBatis入门 1.1 MyBatis的定义 1.2 MyBatis的核心 MyBatis的核心 JDBC 的操作回顾 1.3 MyBatis的执行流程 MyBatis基本工作原理 2. MyBatis的使用 2.1 MyBatis环境搭建 2.1.1 创建数据库和表 2.1.2 添加MyBatis框架支持 老项目添加MyBatis 新项目添加MyBatis 2.1.3 设…

iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe

文章目录 一、前提二、问题描述三、原始处理方式四、程序处理4.1 java程序如何打包exe4.1.1 首先打包jar4.1.2 开始生成exe4.1.3 软件使用方式 4.2 更换图标4.2.1 更换swing的打包jar图标4.2.2 更换exe图标 4.3 如何使生成的exe在没有java环境的电脑上运行4.3.1 Inno Setup打包…

uniapp的uview-plus组件库的导入

uniapp的vue3中使用uview-plus组件库。在插件市场中找到该组件并点击如下所示绿色按钮&#xff0c;弹出弹窗选择要导入的项目后&#xff0c;就会在uni_modules文件中生成如下文件内容 关于插件的下载区别&#xff0c;可参考&#xff1a;https://uniapp.dcloud.net.cn/compone…

VSCode如何设置高亮

一、概述 本文主要介绍在 VSCode 看代码时&#xff0c;怎样使某个单词高亮显示&#xff0c;主要通过以下三步实现&#xff1a; 安装 highlight-words 插件 配置 highlight-words 插件 设置高亮快捷键F8 工作是嵌入式开发的&#xff0c;代码主要是C/C的&#xff0c;之前一直用…

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次 问题代码官方说明参考资料 问题代码 直接从官方示例中复制过来改的。为了演示 <template><view><uni-forms ref"form" :modelValue"formData" :rules"rules&qu…

day 0815

计算文件有多少行&#xff1f; 2.文件的拷贝

Java中有哪些可以用于日期和时间的API?

从Java 8开始&#xff0c;java.time包提供了新的日期和时间API&#xff0c;新增的API严格区分了时刻、本地日期、本地时间&#xff0c;并且&#xff0c;对日期和时间进行运算更加方便。主要涉及的类型有以下几类&#xff1a; LocalDate&#xff1a;不包含具体时间的日期。 Lo…

ArcGIS入门操作手册

一.ArcGIS安装过程 参考本人博客&#xff1a;保姆级Arcgis安装图文安装教程_追忆苔上雪的博客-CSDN博客 二.ArcGIS植被指数计算 (1)使用工具&#xff1a;栅格计算器 打开软件&#xff0c;右侧搜索栅格计算器打开&#xff0c;要是搜索栏不小心叉掉找不到了&#xff0c;可以通…

初识结构体

文章目录 目录1. 结构体类型的声明1.1 结构的基础知识1.2 结构的声明1.3 结构成员的类型1.4 结构体变量的定义和初始化 2. 结构体成员的访问3. 结构体传参 目录 结构体类型的声明结构体初始化结构体成员访问结构体传参 1. 结构体类型的声明 1.1 结构的基础知识 结构是一些值的…

可白嫖的4家免费CDN,并测试其网络加速情况(2023版)

网站加载速度优化过程中&#xff0c;不可避免的会用上CDN来加速资源的请求速度。但是市面上的CDN资源几乎都是要收费的&#xff0c;而且价格还不便宜&#xff0c;对于小公司站长来讲&#xff0c;这将是一笔不小的开销。不过还是有一些良心公司给我们提供了免费的资源&#xff0…

私密相册管家-加密码保护私人相册照片安全

App Store史上最安全、最强大、最卓越的私密相册App&#xff01;再也不用担心私密照片视频被别人看见了&#xff01;
私密相册为你提供多重密码保护机制、简单便捷的照片存储空间&#xff0c;完美地将你的私密照片远离一切恶意偷窥者的窥探&#xff01; 【产品功能】
 √ 支…