软件测试必备的Linux知识(一)

news2024/11/24 16:37:05

1. Linux 概述

1.1 测试人员为什么学习linux

对于软件测试人员来说,我们测试的任何产品都是基于操作系统。比如我们每天都在使用的QQ软件,它有windows、ios、Android、Mac OS等版本,需要把QQ安装在各个平台上,才能进行相应的测试。因此,熟练使用这些操作系统和掌握一系诶操作系统对的基本知识应该是每个测试工程师必须掌握的基本功。

目前市面主流的操作系统有windows、unix、linux等,而linux作为很多软件应用的后台服务器部署所采用的操作系统,也是当下应用最多的服务器端操作系统。熟练使用linux 系统,这样的词汇经常出现在测试岗位的要求和求职人员的技能描述中。而在测试人员这个群体中,真正能熟练运用linux操作系统的、哪怕只是对常用命令比较熟悉,也是比较稀缺的!因此测试人员学习linux ,不仅可以提高测试深度,也可以增加自己的核心竞争力、拓宽自己的技能栈,让自己的测试能力有更深层次的提高。

1.2 什么是linux

linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中性,大型甚至是巨型项目都在使用linux。

linux 内核:redhat、红旗linux、ubuntu、suse、fedora,

它们的内核都是一样的(linux其实是一个统称)

linux 操作系统的优点很多:开源免费、支持多线程、支持多用户、安全性好、对内存和文件管理优越、适合小内核程序的嵌入系统等

linux 的缺点是使用命令行操作,因此操作相对困难,但正是这种字符级命令行的操作,占用的系统资源会更少,也减少了被攻击、出错的可能性

1.3 linux 和Windows的不同

Windows 与linux 的比较

windows

linux

收费

收费

免费

开源性

非开源

开源

软件资源

软件资源丰富,但是可能大部分都需要购买授权

大部分软件都可以自由获取,同样功能的软件选择较少

技术支持

主要图形化界面

主要是字符模式,命令行界面

1.4 如何学习linux

测试人员学习linux 不一定非常的系统性,因为精通linux那是运维人员的工作职责,作为测试人员,学习的首要目的应该是够熟练使用常用命令、熟练搭建测试环境。因此,不断的练习命令,每个常用命令都应该去多敲几遍,验证输入命令后的反馈,最后熟能生巧,慢慢地就能把常用命令记住了。

所以,如何学习linux?一个字:练!

2. linux入门须知

2.1 文件、目录

13.2.2linux文件

linux 所有的内容都是以文件形式保存,包括硬件(一切内容皆文件),并且linux不靠扩展名区分文件类型。

linux有多种基本类型,常见的有如下三种:

普通文件

如文本文件、shell脚本、java源代码、c语言源代码等,可以使用文件操作命令如vi、cat、more、less来进行管理

目录文件

就是目录,相当于windows上的文件夹,包括目录名、子目录名,可以用ls列出目录的内容

链接文件

类似windows下面的快捷方式

2.3 linux 目录

linux 的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/” ,然后在此目录下再创建其他的目录。

在linux 系统中,所有的文件与目录都是根目录 / 开始的,以 / 开头的目录成为绝对目录,不以根目录 / 开头的称为相对目录。

linux 系统文件目录整理如下

/

linux 文件系统的上层根目录,文化系统树的最顶端,称为根目录或顶级目录

root

存放root 用户的相关文件

home

系统预设的使用者的家目录(宿主目录),存放普通用户的相关文件

bin

存放所有用户都可以使用常用命令的目录

sbin

系统管理相关的二进制文件存放目录,要具有一定权限才可以使用其中命令

etc

存放各种配置文件

var

存放经常变化的文件,如网络连接的sock文件

boot

启动目录,存放引导系统启动的相关文件

usr

Unix System Resource:安装软件的默认目录,相当于windows下的program files文件夹

dev

设备文件保存目录

lib

系统库保存目录

mnt

默认挂载光驱和软驱的目录

opt

额外所安装的应用程序目录,有些软件包我们可以将它安装在该目录中

proc

直接写入内存的,不能直接操作,保存的是内存的挂载点

2.4 常用快捷键

tab

自动的补全

ctrl+c

强制终止当前命令执行,即杀死当前进程

ctrl+l

清屏

ctrl+z

把命令放入到后台

ctrl+r

在历史命令中搜索

ctrl+a

光标移动到命令行首

ctrl+e

光标移动到命令行尾

ctrl+u

从光标所在位置删除到行首

ctrl+b

同键盘左键

ctrl+f

同键盘右键

3. 常用命令

用户登录linux后,可以在linux 的命令提示符后面输入命令与系统进行交互。

如下所示:

[root@localhost~]#

其中:

root:当前登录用户

localhost:主机名

~:当前所在目录,~ 表示家目录

#:超级用户的提示符,如果是普通用户的提示符是$

linux的命令格式: 命令 [选项] [参数]

如:cp dir1 dir2 ,cp是拷贝命令,dir1 和dir2是参数,表示把dir1拷贝到dir2中

注意:

个别命令使用不遵守此格式

当有多个命令时,可以写在一起

简化选项与完整选项,如 -a 等于 -all

linux 是严格区分大小写,一般命令没有特殊说明,都是小写

linux命令和参数之间是有空格的,请不要像英文字母一样,全部挤在一块

下面就linux 使用最频繁、最常用的命令进行详述。

4. 磁盘管理

4.1 cd

cd ,切换目录(chang directory)

cd 命令可以让登录用在不同的目录间切换

语法 :cd [目标目录]

下面是一些常用的目录切换

cd ~

进入当前用户的家目录

cd

进入当前用户的家目录

cd -

进入上次目录

cd ..

进入上一级目录

cd .

进入当前目录

cd /

进入根目录

相对路径与绝对路径的区别

cd 相对路径:只要开头不是 / 就是属于相对路径的写法,会参照当前所在目录,通过该相对路径进行查找

cd 绝对路径:绝对路径是由根目录 / 开头的文件名或目录名称。如:/home/data/package,会从根目录(即顶级目录/)开始,一级一级的去进行递归查找,通过cd 命令采用绝对路径e方式,只要路径是正确的,可以在任何目录下进入指定的该目录。

4.2 ls

ls,列出目录内容

语法:ls [目标目录]

ls 指令可列出目录内容,包括文件和子目录的名称

-a

显示目录下的所有文件,包括隐藏文件

-l

显示长列表格式,简写为ll

-d

查看目录属性

-h

人性化显示文件大小

-i

显示inode

工作中使用习惯一般是cd 命令切换到某个目录后,直接输入ls 查看当前目录的内容,类似于在windows系统上点开某个文件夹。

另外一个比较常用的写法是ll ,ll 是 ls -l 的缩写,可以以列表格式列出目录内容,如:

下面package 各个属性的描述:

drwxxr-xr-x

通过10个字符可以确定该文件的类型以及不同用户针对该文件的

2

连接的文件数

root

表示用户

root

表示用户所在的组

4096

表示文件大小

6月23 05:28

表示最后修改日期

package

表示文件名

每行最前面10个字符可以确定该文件的类型以及不同用户针对该文件的权限

第一个字符表示类型:文件(-)、目录(d),链接(l)

其余字符每3个一组(rwx)、读(r)、写(w)、执行(x)

第一组 rwx:文件所有者的权限是读、写和执行

第二组 r-x:与文件所有者同一组的用户的权限是读和执行,没有写的权限

第三组 r-x:不与文件所有者同组的其他用户的权限是读和执行,没有写的权限

读、写、执行用数字表示分别为 r=4 ,w=2,x=1。

rwx =4+2+1=7

r-x=4+0+1=5

r-x=4+0+1=5

所以该文件针对不同用户的权限可以用数值755表示

4.3 pwd

pwd,显示工作目录(print working directory)

执行pwd命令可以获得当前所在的工作目录的绝对路径。

4.4 mkdir

mkdir,建立目录(make directory)

-p:递归创建目录,即如果建立目录的上层目录没有创建,会一并建立上层目录。

4.5 rmdir

删除空目录,这条命令实际操作中用得很少,我们一般用rm

注意 rmdir 命令只能删除空目录,如果要删除目录下所有文件可用:rm -rf 路径

4.6 df

df,显示磁盘的相关信息,如文件系统的使用情况

df [-ahikHTm] [目录或文件名]

-a :列出所有的文件系统

-k:以KB为单位显示各个文件系统

-m:以MB为单位显示各个文件系统

-h:以GB、MB、KB等格式显示

-H:以M =1000K取代 M=1024K的计算方式

-T:连同该分区的文件系统名(例如 ext3 )一起列出

-i:不用硬盘容量,而以inode 的数量来显示

df [路径],查看某个目录是在哪个分区,并显示其它信息

注意df、du两个命令对于测试人员来说应用频率并不高。

4.7 du

du,显示目录或者文件的大小,du 命令显示指定的目录或文件占用的磁盘空间

语法:du [-ahskm] [文件或目录名称]

-a : 列出所有的文件与目录容量

-h:以人们易读的容量格式(G/M)显示

-s: 显示总计,不列出每个目录占用的容量

-k: 以KB列出容量显示

-m:以MB列出容量显示

5. 文件管理

5.1 touch

touch,改变文件或者目录时间,也可以建立空文档

touch [-acdmt] 文件名

-a : 修改access time

-c : 修改时间,而不建立文件

-d: 后面可以接日期,也可以使用 --date="日期或时间"

-m:修改 mtime

-t:后面可以接时间,格式为[YYMMDDhhmm]

5.2 cp

cp 复制命令

cp 指令用于复制文件或者目录,参数必须指定两个或者两个以上的文件或目录,并且最后一个路径必须是已经存在的目录,可以把之前指定的文件或者目录复制到该目录中。

常见参数:

-a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录。

-p 复制源文件的内容,并且会复制修改时间和访问权限到新文件中

-r 若给出的源文件是一目录文件,此时cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名

如:cp -r dir1 dir2 dir3,递归复制,把dir1、dir2 复制到dir3目录中

5.3 mv

mv , 移动和重命名

mv 命令可以移动文件或者目录,也可以更改文件或目录名称

语法:

mv [源文件或者目录] [目标文件或目录]

如 mv dir1 dir2 :把dir1 移动到 dir2目录中

mv /home/hello /home/world; 把/home 目录下的hello 文件重命名为world

5.4 rm

rm ,删除文件和目录

rm 命令可以删除文件或目录,使用参数“-r” 可以删除目录,否则默认是删除文件

rm -rf * ,删除所有内容,包含目录和文件

其中 -r 表示递归,-f 表示强制

5.5 cat

cat ,显示文件内容,将文件内容打印到标准输出设备上

语法 :cat fileName

常用参数:

-n : 对输出的行数进行编号

5.6 head

查看纯文本文档的前N行,写到标准输出

head -n 20 查看文本文件前20行

5.7 tail

查看纯文本文档的后N行,写到标准输出

tail -n 20 查看文本文档后20行

tail -f error.log 不断刷新,实时查看文件内容改变

5.8 more、less

more ,显示文件内容带分页

语法:more fileName

more命令类似cat ,以一页一页形式显示,方便阅读,按空格键往后翻下一页,按b键(或 ctrl + pag up 上翻) 往前翻一页

more + 10 fileName : 从第10 行显示fileName 内容

less ,显示文件内容带分页

less 与 more 类似,使用less 可以随意浏览文件

5.9 echo

echo:输出字符串

语法:echo [-ne] [字符串] 或 echo [--help][--version]

echo会将输入的字符串送往标准输出

6. 系统设置

6.1 alias

alias:有些命令很长,或者名字显得别扭,可以给命令起一个别名

命令: alias :显示系统当前定义的所有alias

【案例】 alias cp = ‘cp -i’

【案例】alias li = ‘ls -l -color=tty’

用户可利用alias , 自定指令的别名。若仅输入alias ,则可列出目前所有的别名设置。alias的效力仅基于该次登入的操作。若要每次登入是即自动设置好别名,可在/etc/profile 或自己的 ~/.bashrc 中设定指令的别名。

还有,如果你想给每一位用户都生效的别名,请把 alias la = 'ls -al' 一行加在/etc/bashrc最后面

bashrc 是环境变量的配置文件 /etc/bashrc 和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用,如果你想给每一位用户都生效的别名,请把alias la = 'ls -al' 一行加在 /etc/bashrc 最后面,bashrc是环境变量的配置文件 /etc/bashrc 和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用

命令的执行顺序:

1: 执行用绝对路径和相对路径的命令

2:执行别名

3:执行Bash的内部命令

4:执行按照¥PATH 环境变量定义的目录找到第一个命令

6.2 alias

unalias:删除别名

语法:unalias 别名

6.3 export

export, 设置和显示环境变量

export 命令可新增、修改和删除环境变量

export -p :列出所有的shell 赋予程序的环境变量。

6.4 man

man [command] , 帮助,类似与dos中的help ;man实际为manual(操作说明),

man的级别:

1:查看命令的帮助

2:查看可被内核调用的函数的帮助

3:查看函数和函数库的帮助

4:查看特殊文件得帮助,主要是 /dev 目录下的文件

5:查看配置文件的帮助

6:查看游戏的帮助

7:查看其它杂项的帮助

8:查看系统管理员可用命令的帮助

9:查看和内核相关文件得帮助

查看命令拥有那个级别的帮助:

man -f 命令,相当于whats命令

eg:man -5 passwd

man -4 null

man -8 ifconfig

查看和命令相关的所有帮助

man -k命令,相当于 apropos 命令

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

03 KVM虚拟机镜像制作

文章目录 03 KVM虚拟机镜像制作3.1 概述3.2 制作镜像3.2.1 使用root用户安装qemu-img软件包3.2.2 使用qemu-img工具的创建镜像文件 3.3 修改镜像磁盘空间大小3.3.1 查询当前虚拟机镜像磁盘空间大小3.3.2 修改镜像磁盘空间大小3.3.3 查询修改后的镜像磁盘空间大小 03 KVM虚拟机镜…

WPS作图常见问题+LATLEX

【LaTex】LaTex的下载与安装(超详细、超简洁) 表格 1、打开WPS表格,切换至“开始”选项卡,单击“绘图边框”按钮,如下图。 2、鼠标变成如下图一样的笔后,按照斜线表头的方向拉动鼠标,然后就给…

【2023程序员必看】前端行业分析

“前端已死?”|“情绪焦虑?” 最近经常在知乎、脉脉等平台上看到有人在渲染前端就业危机,甚至使用“前端已死”的字眼,颇有“语不惊人死不休”的意味。 “前端已死”更多的是一种焦虑情绪的表达。现阶段的市场行情确实不太好&am…

【LLM】离线部署ChatGLM-6B模型

目录 前言 准备环境 打包环境 下载/上传模型 部署模型 前言 甲方出手,天下我有🤩。圆梦了圆梦了~一直想整一台GPU服务器尝尝鲜,奈何钱包空空,虽然有可以在CPU上部署的方案,但效果却不是让人那么满意&#xff0c…

杭州一公司开出20万月薪/320万年薪抢人!ChatGPT掀起AI热潮,AIGC人才被爆抢

5年工作经历,博士学位,最高月薪20万。 最近,位于杭州未来科技城一家公司,开出了最高320万年薪,招聘AIGC方向算法工程师一名。 ChatGPT在全球掀起了AI热潮,国内互联网大厂纷纷加入战局打造国内版ChatGPT。…

Analysis For Office的一些使用技巧

目录 1. 自由特性下钻停止刷新 2. 直接双击过滤内容 3.重复层级值 4. 从过滤值选参数 5.从Excel复制参数 6. 保存参数值 7.计划值回退到上一步 8. 保存当前导航步骤 1. 自由特性下钻停止刷新 一般我们每次拖一个自由特性到workbook里,报表都会自动刷新。如…

电商败给了直播带货,实体店能靠直播提升销量吗?

根据官方发布的最新数据,直播带货的市场规模将达到4.7万亿元,不少品牌借助直播间触达了上亿的用户,完成了千万级别的销售订单。 目前直播带货已经成为“红海”市场,未来仍然有巨大的发展空间。 一、直播带货打败传统电商 自从电商…

vue3+ts数组去重方法-reactive/ref响应式显示

vue3ts数组去重方法-reactive/ref响应式显示 本文目录 vue3ts数组去重方法-reactive/ref响应式显示简单数组使用 Set 和 扩展运算符(...)将集合转换回数组使用 Set 和 Array.from() 方法将集合转换回数组使用 filter 和 indexOf 进行判断使用 splice 和 …

函函函函函函函函函函函数——two

🤩本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C知识系统分享》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽,…

【DevOps视频】笔记】1. DevOps的诞生

视频官网 目录 一、DevOps介绍 定义: 作用: 核心: 二、软件开发流程 三、流程图 一、DevOps介绍 定义: Development & Operations的缩写,也就是开发&运维DevOps 是一个不断提高效率并且持续不断工作…

(八)Geoprocessing地理处理框架——基本介绍

(八)Geoprocessing地理处理框架——基本介绍 目录 (八)Geoprocessing地理处理框架——基本介绍 1.基本概念2.集成ArcToolbox3.多种使用方式3.1对话框3.2Python窗口3.3模型构建器3.4脚本 4.应用基础4.1启动ArcToolbox4.2激活扩展工…

PostgreSQL中创建索引的消极影响

相信大家在使用数据库中,提高SQL查询速度最简单的办法就是添加相关索引,但是其实我们创建的索引并不一定能用上,有时候顺序扫描也并不见的就比离散的索引扫描差,任何事物我们要辩证的看待,今天我们说明一下创建索引的一…

AQS 抽象同步队列的简单理解

前置知识: 可重入锁又叫递归锁,同一个线程在外层方法获取锁的时候,在进入该线程内层方法会自动获取锁,不会因为之前已经获取过还没释放就阻塞 同一个线程可以多次获得同一把锁 每个锁对象都有一个锁计数器和一个指向持有该锁的…

Python爬虫-D车网近半年(六个月)汽车销量排行榜

前言 本文是该专栏的第46篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏前面,笔者有单独详细介绍过该平台当前月更新的最新汽车销量排行榜数据。感兴趣的同学,可往前翻阅查看(Python爬虫-某懂车平台之汽车销量排行榜)。 而本文,笔者将详细来介绍该平台近半年…

【git】git提交代码-使用简易指南

1、创建新仓库:git init 创建新文件夹,打开执行:git init ,创建新的git仓库 2、检出仓库:git clone 执行该命令,以创建一个本地仓库的克隆版本:git clone /path/to/repository 如果是远端服务器…

一文解析Systrace 的原理、流程及定制

一、原理和基本流程 Systrace是android性能调试优化的常用工具,它可以收集进程的活动信息,如界面布局、UI渲染、binder通信等;也可以收集内核信息,如cpu调度、IO活动、中断等;这些信息会统一时间轴,在Chro…

【ROS仿真实战】Gazebo仿真平台介绍及安装方法(一)

文章目录 前言一、Gazebo简介二、Gazebo仿真平台的基本概念三、Gazebo仿真平台的安装方法四、总结 前言 Gazebo仿真平台是一个广泛应用于机器人研发、测试和教育等领域的开源软件。它可以模拟机器人的运动、感知和控制等行为,并提供了丰富的物理引擎、传感器模拟和…

PYQT5学习笔记05——QObject父子对象API以及案例

一、父子对象API 我们在这里简单演示一下父子对象API的具体用法以及代码实现,父子对象API有五个,分别是setParent、parent、children、findChild、findChildren,接下来对每一个API都具体演示一下。 1、setParent(parent)和parent() setParen…

国外导师对博士后申请简历的几点建议

正所谓“工欲善其事,必先利其器”,想要申请国外的博士后职位,就要准备好相应的申请文书材料。如果说Cover Letter是职位的窍门砖,那么申请者的简历就是争取职位的决定性筹码。 相信大家已经看过许多简历的模版了,但是…

c++自学笔记

本笔记为从菜鸟教程边学边记录的笔记---》C 教程 | 菜鸟教程 面向对象程序设计 封装(Encapsulation):封装是将数据和方法组合在一起,对外部隐藏实现细节,只公开对外提供的接口。这样可以提高安全性、可靠性和灵活性。…