前言
直接操作硬件
 将把操作硬件的代码封装成系统调用,供程序员使用
 虚拟机==软件
 可以模拟的具有完整硬件系统的功能
 可以在虚拟机上安装不同的操作系统
 Linux内核只有一个,发行版有很多种
 内核来运行程序和管理像磁盘和打印机等硬件设备的核心程序
 终端命令---系统调用---硬件
发行版:
 包括桌面环境、办公套件、媒体播放器、数据库等应用软件
 常见的发行版本:
 Ubuntu
 Redhead
 Fedora
 openSUSE
 CentOS
 Arch
 Linux Mint
 ............
 window是单用户操作系统,同一时间只有一个用户操作使用
 linux是多用户操作系统,同一时间可以有多用户操作使用
 /:根目录
 /home:根目录下的用户家目录
 /etc:系统配置文件存放的目录
 /bin:可执行二进制文件的目录
 常用的Linux命令的基本命令
 
ls  list   查看当前文件夹下的内容
 pwd    print  wrok  directory    查看当前所在的文件夹
 cd  [目录名]  change  directory   切换文件夹
 touch  [文件名]    touch     如果文件不存在,新建文件
 mkdir [目录名]     make   directory  创建目录
 rm [文件名]     remove    删除指定的文件名
 clear    clear    清屏
终端命令的格式
[]代表可选
 commend  [-option]  [parameter]
 comment:命令名,响应功能的英文单词或单词缩写
 [-option]:选项,可以来对命令进行控制,也可以省略
 parameter:传给命令的参数,可以是零个、一个或者多个
终端使用小技巧151自动补全:tab键
 输入没有歧义
 如果存在其他文件、目录、命令,在按一下tab键,会显示所有存在
2、曾经使用过的命令
 上、下键可以查找之前使用过的命令
 ctrl+c退出选择,并且不想执行当前选中的命令
Ls命令
.代表当前目录
 ..代表上一级目录
 ls -a显示指定目录下所有子目录与文件,包括隐藏文件
 ls -l以列表方式显示文件的详细信息
 ls -h配合-l以人性化的方式显示文件大小
 ls -lha==ls -l -h -a
 ls盒通配符的使用
 *代表任意个数个字符
 ?代表任意一个字符,至少一个
 [ ]表示可以匹配字符组的任意一个
 [abc]匹配a、b、c中任意一个
 [a-f]匹配a到f中的任意一个字符
 例子
 [12345]21.txt==[1-5]21.txt
 可以得到121.txt、221.txt、321.txt、421.txt、521.txt
 Touch和mkdir命令拓展
 touch
 如果文件不存在可以创建一个空白文件
 如果文件存在,可以修改文件末次修改的信息
mkdir
 -p:可以递归创建目录
 新建目录名称不能与目录中已有的目录或文件同名
 例:
 Mkdir  -p  a/b/c/d   创建a目录即a目录下的b目录即b目录下的c目录即c目录下的d目录
rm
 使用rm命令要小心,因为文件删除后不能恢复(直接从磁盘中删除)
 -f  强制删除,忽略不存在的文件
 -r  递归的删除目录下的内容,删除文件夹时必须加此参数
拷贝和移动文件
 Tree [文件名]:以树状图列出文件目录结构
 -d:只显示目录
Cp 源文件  目标文件:复制文件或目录
 -f:已经存在的目标文件直接覆盖
 -i:覆盖文件前提示
 -r:若给出的源文件时目录文件,则cp,将递归复制该目录下的所有子目录,目标文件必须为一个目录名
Mv 源文件  目标文件:移动文件或者目录/文件或者目录重命名
 -i:覆盖文件提示
 桌面上要有readme.txt和dome.txt
 文件重命名:mv -i ./Desktop/readme.txt dome.txt
Cat 文件名   concatenate. 查看文件内容、创建文件、文件合并、追加文件内容等功能(适合文件内容少)
 -b:对非空行输出行编号
 -n:对输出行的所在行编号
tail命令:查看文本文件
 tail  -f  文件    #动态打印文本尾端
More 文件名   more     分屏显示文件内容(适合文件内容多)
 操作健
 空格键:显示手册页的下一屏
 Enter健:一次滚动手册页的一行
 B:回滚一屏
 F:前滚一屏
 Q:退出
Grep 搜索文本内容  搜索文本文件名   grep    搜索文本文件内容
 -n  显示匹配行及行号
 -v:显示不包含匹配文本的所有行(取反)
 -i:忽略大小写
 ^a:行首,搜索以a开头的行
 ke$:行尾,搜索以ke结尾的行
echo:会在终端中显示参数的指定文字,通常会和重定向联合使用
 重定向
 > :表示输出,会覆盖原有的内容
 >> :表示追加,会将内容主驾到一有文件的末尾
 例子:
 echo hello python > a :将hello python输出到a文件中
 echo hello python >> a:将hello python输追加到a文件中末尾
管道符
 |:一个命令的输出|另一个命令的输入
 常用的管道命令有
 More:分屏显示内容
 Grep:在命令执行结果的基础上查询制定结果
远程管理常用命令
 关机/重启 
 shutdown 选项 时间:关机
 -r 重新启动
 常用命令示例:
 shutdown -r now:现在重启
 shutdown now:现在关机
 shutdown +10:十分钟后关机
 shutdown 22:33:22:33分时关机
 shutdown -c:取消关机
查看配置网卡信息
 ifconfig   configure a network interface  查看/配置计算机当前的网卡配置信息
 Ping  ip地址   ping   检测到目标ip地址的连接是否正常
网卡
 网卡是一个专门网络通讯的硬件设备
 IP地址是设置在网卡上的地址信息
ifconfig |grep inet   查看网卡对应的ip地址
 Ping 127.0.0.1  检测本地网卡工作正常
远程登陆和复制文件
 ssh 用户名@ip     secure shell  关机/重新启动
 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径    secure copy  远程复制文件
如果使用windows电脑需要安装好ssh客户端
 在ubuntu和Mac中是已经安装好的,不需要安装
端口号:通过端口号可以找到计算机上运行的应用的程序
 ssh的端口号是22
 Web服务器端口号:80
 https端口号:443
 ftp服务器端口号:21
Ssh客户端的简单使用
 ssh [-p port] user@remote  Mac连接Ubuntu上的命令
 User:远程机的用户名
 remote:远程机的地址
 port:ssh server监听的端口
Exit:退出当前用户的登录
windows两款软件
 putty和xshell:建议从官方网站下载
用户权限
 r:读  代号4
 W:写。 代号2
 x:执行。 代号1
 -:无权限。 代号0
 d:代表文件
  
 硬连接数,就是有多少种方式,可以访问到当前目录/文件夹
 u:拥有者
 g:组
 Chmod +/-rwx 文件名/文件:修改目录或者文件的权限
超级用户(root)
 对所有资源具有访问权限
 一般linux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”
组管理
 提示:创建组/删除组的终端命令都需要通过sudo执行
 groupadd  添加组
 groupdel  删除组
 Cat  /etc/group  确认组信息(etc目录专门来保存系统的配置文件)
 Chgrp -R 组名 文件/目录名  修改文件/目录的所属组
创建用户
 Useradd -m -g 组 新建用户名     --添加新用户。   -m:自动建立用户家目录。 -g:指定用户所在的组,否则会建立一个同名的组
Passwd 用户名 设置用户密码。 如果是普通用户,直接用passwd,可以修改自己的账户密码
Userdel -r 用户名。 删除用户。 选项会自动删除用户的家目录
Cat /etc/passwd | grep 用户名      确认用户信息   创建用户后,用户信息会保存在/etc/passwd文件中  
 创建用户或者密码时,需要超级权限sudo
切换用户命令
 Su - 用户名  切换用户,并且切换目录    -可以切换到用户家目录,否则保持位置不变
 Exit   退出当前登陆
修改文件权限
 Chown  修改拥有者
 chgrp  修改组
 Chmod  修改文件或目录权限
Chown 用户名 文件名/目录名
 Chgrp -R 组名 文件名/目录名  -R:递归修改文件/目录组
 Chmod -R 755  文件名/文件:修改目录或者文件的权限
常用三种权限
 777  ugo都可以rwx
 755  u可以rwx go可以r-x
 644  u可以rw- go可以r--2
系统信息相关命令
 时间日期
 date
 cal
磁盘和目录空间
 df
 du
进程信息
 ps
 top
 kill
时间日期
 Date 查看系统时间
 Cal  calendar查看日历  -y:可以查看一年的日历
磁盘信息
 df -h  disk free显示磁盘剩余时间
 du -h [目录名]  disk usage 显示目录下的文件大小
 -h  以人性化的方式显示文件大小
进程信息
 ps aux   process status查看进程的详细状况
 a:显示终端上的所有进程,包括其他用户的进程
 u:显示进程的详细状态
 x:显示没有控制终端的进程
top  动态显示运行中的进程并且排序
 退出top直接输入q
Kill [-9] 进程代号  终止指定代号的进程,-9:表示强行终止
 Kill杀死进程时,不要终止root身份开启的进程,防止系统崩溃
查找文件
 Find [路径]-name "*.py"  查找指定路径下扩展名是.py的文件,包括子目录
例子
 Find -name ‘*1*’   查找文件或者目录中包含1的文件
 Find -name ‘*.txt’  查找以.txt为尾缀的文件
 Find -name ‘1*’   查找文件或者目录中以1开头 的文件
打包压缩
 windows常用rar
 Mac常用zip
 linux常用tar.gz
打包/解包
 打包文件
 tar -cvf 打包文件.tar 被打包的文件/路径。。。  #如果被打包文件有多个可以在文件与文件之间空格
解包文件
 tar -xvf 打包文件.tar
C:生成档案文件,创建打包文件
 x:解开档案文件
 v:列出归档解档的详细过程,显示进度
 f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
 f必须放最后,其他选项顺序可以随意
压缩/解压缩
 tar与gzip命令结合可以使用时限文件打包和压缩
 gzip压缩tar打包后的文件,扩展名一般用xxx.tar.gz
 tar命令中有一个选项-z可以调用gzip,实现压缩和解压缩功能
压缩文件
 tar -zcvf 打包文件.tar.gz 被压缩的文件/路径..
解压缩文件
 tar -zxvf 打包文件.tar.gz
解压缩到指定路径
 tar -zxvf 打包文件.tar.gz -C 目标路径
 -C:解压缩到指定目录,注意:要解压缩的目录必须存在
bzip2
 tar与bzip2命令结合可以使用实现文件打包与压缩
 tar命令中又一个选项-j可以调用bzip2
压缩文件
 tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
解压缩文件
 tar -jxvf 打包文件.tar.bz2
解压缩到指定路径
 tar -jxvf 打包文件.tar.bz2 -C 目标路径
 Vi--终端中的编辑器
 vi与vim
 vi:visual interface  文本编辑器
 特点:
 没有图形界面的功能强大的编辑器
 只能进行文本编辑
 不支持鼠标操作
 没有菜单
 只有命令
vim = vi improved
vi打开和新建文件
 vi 文件名    如果文件存在打开文件,如果不存在,则新建文件
 yy+19p:在vim中复制19遍
 U:撤销上一步
 ctrl+R:恢复上一步操作
vi 文件名 +行数 打开文件并且定位行
vi三种工作模式
 打开文件(vi 文件名)--命令模式-(i:insert)->编辑模式-(esc)->命令模式
                    命令模式-(shift+;)->末行模式-(esc)->命令模式
                                       | 
                                     关闭文件(wq:write&quit)
 注释:touch bar的Mac电脑上,按esc不方便,通常使用 (ctrl+[) 代替
末行模式命令
 w:write  保存
 q:quit   退出
 q!:强行退出,不保存退出
 Wq:write&quit  保存并退出
 x:保存并退出
插入命令
 i:insert   在当前字符前插入文本
 I:insert   在行首插入文本
 a:append   在当前字符后添加文本
 A:append   在行末添加文本
 o:在当前行后插入一空行
 O:在当前行前面插入一空行
 o   #添加新的一行
 G   #移动到文件最后一行行首
 gg  #移动到文件的开头
 按ctrl+f   #往下翻一页
 按ctrl+b  #往上翻一页
 dd   #删除光标所在行
 3dd   #删除光标所在位置的往下3行,包括光标所在行
 yy   #复制光标所在行
 p    #黏贴(包括前面复制操作或者删除操作的内容)
 u    #假如误操作一个指令,可以马上按u,进行撤销,可以连续按u,撤销多个之前做过的操作
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。



















