<一>软件安装相关
QA经常需要安装测试软件(jmeter、Mock、python环境搭建、java环境搭建),或者配置测试环境(nginx、ci等),需要了解linux下如何安装软件。
在工作中常见的Linux软件安装有:tar、zip、gz、管理工具安装、bin、源码安装等
(1) tar、zip、gz类软件
Step1: 从官网获取安装地址
Step2: 在机器上wget + 地址,把软件包下载下来。
Step3 :如果由于网络等原因无法下载,可以在本地下载,然后通过Xshell上传至linux机器
Step4: 解压软件包 tar解压命令 tar -zxvf package ;zip解压命令 unzip package
Step5 直接运行.sh文件就ok啦
(2) 管理工具类
常用的比如:Debian的apt工具
apt-get update //更新源
apt-get search package //1113.www.qixoo.qixoo.com搜索可用的安装包
apt-get install package //安装软件
apt-get remove package //删除软件包
(3) 源码安装
Step1: 打开shell,获取软件源代码包
Step2: 是有cd命令进入源代码所有目录
Step3: 解压包
.tar.gz 采用命令 tar -zxvf
.tar.bz(或者bz2)采用命令 tar -jxvf
Step4: cd进入解压后的目录
Step5: 编译文件命令 ./configure
Step6: make编译命令: make
Step7: 安装命令: make install
(4) bin文件安装
Step1: 给文件加上可执行权限。 chmod +x
Step2: 执行命令安装
<二>服务进程状态相关
有时需要查看服务进程是否正常,需要对进程进行操作,来辅助异常测试
查看指定进程的基本信息
ps -ef | grep 进程名关键字
查看所有进程的状态
ps -aux
将进程暂停
kill -s 19 pid
将继续执行暂停的任务
kill -s 18 pid
将进程强制杀死
kill -s 9 pid
将进程杀死
kill -s 15 pid
中断
kill -s 2
退出
kill -s 3
<三>文本编辑Vim
编写测试脚本,查看日志,查看配置文件,少不了要和vim打交道
vim是unix/linux下的文本编辑器,它一般有两个模式:命令模式和编辑模式,通过ESC来切换到命令模式,其常用的命令有:
(1) 打开与退出
vi file:打开文件file
:q :退出vi编辑器
:wq:保存缓冲区的修改并退出编辑器
:q!:不保存直接退出
:w 保存缓冲区内容至默认的文件
:w file 保存缓冲区内容至file文件
(2) 插入文本
a : 在当前光标的右边插入文本
A : 在当前光标行的末尾插入文本
i : 在当前光标的左边插入文本
I : 在当前光标所在行的开始处插入文本
o: 在当前行在下面新建一行
O:在当前行的上面新建一行
R:替换当前光标位置以及以后的若干文本
J:连接光标所在行和下一行
(3) 删除文本
x: 删除一个字符
dd: 删除一行
ndd: 删除n行
u: 撤销上一次操作
U: 撤销对当前行的所有操作
(4) 搜索
/word 向前搜索第一个出现的word
/ 继续向前搜索word
?word 向后搜索第一个出现的word
? 继续向后搜索word
(5) 设置行号
:set nu 在屏幕上显示行号
:set nonu 取消行号
<四>linux文件系统
(1)Linux的文件系统目录配置
要遵循FHS规范,规范定义的两级目录规范如下:
/home 每个账号在该目录下都有一个文件夹,进行数据的管理
/usr 有点像windows的program files和winNT结合的目录,主要包括系统的主要程序、本机端额外安装的软件、图形接口所需要的文档、额外的函数库、共享目录与文件等
/bin /usr/bin /usr/local/bin 存放执行挡 如可执行的指令等
/boot 存放linux开机会用到的文件
/dev 存放linux的任何装置和接口设备文档
/etc 存放系统设定文档 如账号密码文件、各种服务的起始档等
/lib /usr/lib /usr/local/lib 系统使用的函数库放置的目录
/mnt /media 是软盘和光盘预设挂载点的地方
/opt 主机额外安装软件所摆放的目录
/proc 该目录是一个虚拟档案系统,他放置的数据都是在内存中,所以本身不占用任何的硬盘空间
/root 系统管理员的家目录
/sbin /usr/sbin /usr/local/sbin 放置一些只有系统管理员才能动用的执行指令
/srv 一些服务启动之后,这些服务所需要取用的数据目录
/tmp 让一般使用者或者正在执行的程序暂时放置档案的地方
/var 主要针对系统执行过程中,常态性变动档案放置的目录
文档的路径有:绝对路径 (absolute) 与相对路径 (relative)。
绝对路径为:由根目录 (/) 开始写起的文件名或目录名称
相对路径为相对于目前路径的文件名写法。 ./表示相对当前路径,../表示相对于上一级目录的路径,~代表home目录,~account代表当前账号的home目录)
(2)文件系统命令
Linux的文件系统采用异步的方式,对文件的修改不会马上写入磁盘,一般可以人为的使用sync命令进行手动的数据同步到磁盘
(1) linux可以挂载很多文件系统,查看命令
cat /proc/filesystems
(2) 查看目录的使用情况命令
df -h //以G为单位查看
df -m //以M为单位查看
(3) 查看文件或目录大小
du -sh
(4) 目录的切换命令
cd ..
cd ~
cd /home
cd ./home
(5) 打印当前的路径
pwd
(6) 创建目录
mkdir (-m 参数可以预设权限 -p参数可以递归的创建目录)
(7) 删除目录
rmdir(只能删除空目录)
如果连同内容都删除采用 rm -rf 命令
(8) 文档的查询
ls -al
(9) 文档的复制
cp src des 若复制文件夹,加上-r参数
(10) 文件的删除
rm -rf file
(11) 文档的移动
mv file desdir
(12) 文档重命名
mv desdir desdir2
(13) 取文件名
basename
(14) 取得路径名
dirname
(15) 文档内容的查阅
cat -n :显示文件所有内容,-n表示打印行号
(16) 文件内容的撷取
head tail
head [-n number] file //显示file的前number行
tail [-n number] file //显示ifle的后number行
(17) 文件时间
linux的文档有三个时间mtime(修改时间), atime(访问时间),ctime(状态修改时间)
touch命令可以用于创建新文档或者修改linux文档的时间
(18) linux文档的搜索
whereis locate(这两者是直接搜索数据库,速度快) find(搜索硬盘,速度较慢,但数据最齐全) which(用来搜索执行挡$Path设置的目录)
which ls
whereis file //找出file的位置
locate file//查找所有目录下的文件
find file//查看当前目录下的所有文件
(19) 同时显示两个文件的差异
diff -c file1 file2
以并列的方式显示两个文件的差异
diff -y file1 file2
(20) 文档链接
软连接:源文件消失,目的文件也消失
硬连接: 其中一个修改,另一个也修改,但删除源文件时,目的文件不删除
In file1 file2 //建立file1的链接,命名为file2
In -s file1 file2 //建立file1的软连接
<五>其他有用的命令
(1) 查看输入的历史命令
history number or ctrl+r
(2) 获取主机的外网ip命令
curl ifconfig.me or curl curlmyip.com
(3) 查看ip地址
ifconfig
(4) 查看网络连通性
ping
(5) 查看服务端口连通性
telnet ip port
(6) 查看服务网络端口
netstat -ntlp
(7) 查看当前使用用户
who
(8) 查看当前主机名字
hostname
(9) 正则表达式搜索
grep
(10) 切换为root
sudo -i
(11) 切换为普通user
su user
(12) 退出当前用户
exit
(13) 终止程序
ctrl+c
(14) 远程登录
ssh hostip -I user -p port
(15) 发送http get请求
curl -v url
(16) 发送http post请求
curl -d “param1=value1¶m2=value2” url
(17) 发送http put请求
curl -v -X PUT url -H