QA要懂的Linux命令

QA在日常工作中总免不了要和Linux打交道(虽然没有SA和PE那么多),主要是在测试环境维护、持续集成维护、异常排查、辅助测试等方面。熟练的使用Linux命令,确实能提高工作效率。Linux命令很多,一下子要记住很难,今天就简单的小结一下在平时工作中最常用的命令。       

软件安装相关

       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 //搜索可用的安装包
        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 取消行号

 

liunx文件系统
(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&param2=value2” url
(17) 发送http put请求
curl -v -X PUT url -H

posted @ 2016-12-14 14:18  产品经理|SandyZhu  阅读(919)  评论(0编辑  收藏  举报