清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 上

简介: 清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 上

今天整理了一些软件测试必备之Linux 知识,希望能对你有帮助!


这里赠送一套软件测试相关资源:

软件测试相关工具

软件测试练习集

深入自动化测试

Python学习手册

Python编码规范

大厂面试题和简历模板

关注我公众号:【程序员二黑】即可免费领取!

交流群:642830685

软件测试必备之Linux 知识

1. Linux 概述

2. linux入门须知

3. 常用命令

4. 磁盘管理

5. 文件管理

6. 系统设置

7.系统管理

8. 网络通信

9. 文件搜索

10. 文件权限管理

11. 网络管理

12. 进程管理

13. 解压缩

14. 管道命令

15. vi编辑器的使用

16. mysql 安装和配置

面试题

推荐阅读

1. Linux 概述

1.1 测试人员为什么学习linux

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

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

测试人员学习linux 可以做什么呢?作为初学者,搭建测试环境应该作为学习首要目的。

1.2 什么是linux

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

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

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

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

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

1.3 linux 和Windows的不同

a7147278bfbf98eb32a31f3d4481fed.png

1.4 如何学习linux

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

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

2. linux入门须知

2.1 文件、目录

2.2linux文件

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

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

fd9644b1f714c67fe5213ae33ea330a.png

2.3 linux 目录

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

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

linux 系统文件目录整理如下

34b13a8bf5ab313f71e407e5341f66b.png

2.4 常用快捷键

24f259960156f6c23b2ad2fad6bcf06.png

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 [目标目录]

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

033d22e503e0128a15a4ef3b033a8f2.png

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

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

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

4.2 ls

ls,列出目录内容

语法:ls [目标目录]

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

a0c86eef658bdb6ae34dccc532920c5.png

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

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

92e9415df9ba8a41d29f0009bc81ed0.png

下面package 各个属性的描述:

e41c925f86c5c960eb418e662d32902.png

05beb79601e3c405344dd78739c96ab.png

每行最前面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会将输入的字符串送往标准输出

目录
相关文章
|
1月前
|
安全 网络安全
GitHub星标4000!清华大牛的CTF竞赛入门指南,真的太香了!
想进入网络安全行业、实现从学校到职场的跨越,参加CTF竞赛是很好的成长途径。 通俗而言,CTF是模拟“黑客”所使用的技术、工具、方法等手段发展出来的网络安全竞赛,有了手段之后需要的就是经验与黑客感(HackorFeel)。 CTF赛题涉及的领域很广,市面上也早有在知识广度上均有所覆盖的CTF书籍,但没有深入单一领域的内容,尤其是Pwn方向的。 Pwn是网络安全攻防最有魅力的部分,对于原教旨攻防人士来说,Pwm才是原汁原味的技术体现。二进制Pwn一直是CTF比赛的热点和难点。
|
30天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。
|
1月前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。
|
1月前
|
XML SQL 安全
【网络安全】Web Hacking网络黑客手册,GitHub星标3.7K!
在黑客攻击的演变过程中,防火墙只是一个减速带。黑客攻击不断发展,变得越来越复杂,适应能力和创造力都在不断增强,造成的破坏也越来越大。通过网络端口进行的 Web 攻击影响巨大。 今天给小伙伴们分享的这份手册主要讲解了Web黑客攻击方向。描述了 Web 语言和协议、Web 和数据库服务器以及支付系统。介绍了完整的方法论,包括技术和攻击、对策、工具,以及案例研究和 Web 攻击场景,展示了不同攻击的工作原理及其工作原理。
|
2月前
|
网络协议 Unix Linux
网安人必须人手一份的《Linux私房教程》,GitHub星标286K!
Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。 作为网络安全的初学者,Linux基础知识和常用命令是我们的必备技能,我们不能只会操作Windows相关的工具。一方面很多网站都是基于Linux环境搭建,比如LAMP,其安全性更好;另一方面,很多命令或工具都集成在了Linux相关环境中,比如Kali等。 今天给小伙伴们分享一份Linux私房教程,这份
爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
Python (发音:[ 'paiθ(ə) n; (US) 'paiθɔn ] n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的特点:
|
2月前
|
人工智能 数据挖掘 大数据
爆赞!GitHub首本标星120K的Python程序设计人工智能案例手册
为什么要学习Python? Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Pytho
|
3月前
|
Linux
Linux 更新man说明手册,man中文手册
Linux 更新man说明手册,man中文手册
25 2
|
3月前
|
Python
GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了
这份笔记的目标是为了给出一份比较精炼,但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单,但是措辞比较罗嗦,而且一个语法点往往散落在多个章节,不方便读者总结。 我在做笔记时,将一个知识点的内容都统筹在一个章节里面,因此提炼性大大提高。而且还有《Python学习手册》中文第四版的翻译在某些章节(可能难度较大?)措辞可能前后矛盾。当知识点提炼之后就能够很快的找到一些难以理解的概念的上下文,方便吃透这些难点。
|
12天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
173 73