原标题:做测试所需要必备的Linux知识(下)
软测必备之Linux知识(下)
12. 进程管理
12.1 进程概述
在linux 中,每个执行的程序都称为一个进程,每一个进程都分配一个ID 号
每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www 服务器
每个进程都可能以两种方式存在的,前台与后台。所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,知道关机才结束
进程与线程
进程:就是正在执行的程序
线程
轻量级的进程
进程有独立的地址空间,线程没有
线程不能独立存在,它是由进程创建
相对讲,线程耗费的CPU 和内存要小于进程
12.2 进程的管理
12.2.1 ps —查看进程
ps 命令是用来查看目录前系统中正在执行的进程以及进程的执行情况,可以不加任何参数,显示详细的进程信息
常见参数:
ps -a :显示当前终端的所有进程信息
ps -u :以用户的格式显示进程信息
ps -x :显示后台进程运行的参数
ps 显示的信息选项:
字段
说明
PID
进程识别号
TTY
终端机号
TIME
此进程所消耗CPU时间
CMD
正在执行的命令或进程名
12.2.2 kill —终止进程
kill/killall, 终止进程
如果某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程,使用kill 命令可以来终止某个进程
语法:kill 进程号
如:
kill 19231:终止进程号为19231的进程
kill -9 19231:因为有些进程会捕捉某些信号,直接kill 会被系统阻塞掉,此时可以用“-9”来强制杀出
killall:杀死同名的所有进程
12.2.3 top —动态监控进程
top 命令与ps 命令很相似。它们都用来显示正在执行的进程。top 与 ps 最大的不同之处,在于top在执行一段时间可以更新正在运行的进程
监视特定用户
top: 输入此命令,按回车键,查看执行的进程
u: 然后输入“u”灰尘,再输入用户名,即可终止指定的用户
top: 输入此命令,按回车键,查看执行的进程
k: 然后输入“k”回车,再输入要结束的进程ID号,指定系统状态更新的时间
top -d 10 : 指定系统更新进程的时间为10秒
top 显示选项解释
1:52 ,表示系统启动了多久
1 user ,用户数
load average : 0.00 0.00 0.00 ,当前系统负载情况,一般来说,参数越小,系统运行的越轻松,当平均数>0.6时,系统就很紧张了。
38 processes,进程数
0 zombie , 僵尸进程数,相当于这个进程没有用了,还占用资源,比如父进程来不及收回子进程
CPU states:99.3% idle ,闲置的CPU
Mem,内存
Swap,类似于虚拟内存
13. 解压缩
13.1 .tar.gz 解压缩
Linux 下常见的压缩格式:.tar.gz 、 .zip 、 .gz 、 .bz2 、.tar.bz2
本篇主要讲解 .tar.gz 和 .zip 的压缩格式
13.1.1 .tar.gz 压缩
.tar.gz 格式是先打包为 .tar 格式,再压缩为.gz 格式
语法:tar -zxvf 压缩包.tar.gz文件
命令参数详解:
-c :建立归档
-z:压缩为.tar.gz格式
-v: 显示所有过程
-f: 使用档案名字,必须项,最后一个参数,后面空格接文件名
如:将test 文件(目录)压缩成 test.tar.gz 压缩包
tar -zcvf test.tar.gz test
13.1.2 .tar.gz 解压缩
将test.tar.gz 进行解压缩
tar -zxvf 压缩包名,.tar.gz
命令参数详解:
-x: 解归档
-z: gzip格式
-v:显示所有过程
-f : 使用档案名字,必须项,最后一个参数,后面空格接文件名
如:将 test.tar.gz 进行解压缩:
tar -zxvf test.tar.gz
13.2. zip格式压缩、解压缩
zip 、unzip 以zip 和 unzip处理 .zip文件
13.2.1 zip压缩—zip
Zip命令的基本使用方法
语法:zip[-r] 压缩后文件名 .zip 需要压缩的文件
如:
zip 压缩文件名 源文件
压缩目录:
zip -r 压缩文件名 源目录
如:将 test 文件压缩成test.zip,注意使用 -r 参数 ,否则会生成一个空目录
Zip -r test.zip test
13.2.2 zip 解压缩 —unzip
以unzip命令进行.zip文件的解压缩
格式 : unzip 压缩文件
如:将test.zip进行解压
unzip test.zip
14. 管道命令
管道使用“|” 符号,可以在命令间建立管道,将第一个命令的输出作为后面命令的输入
如:ll | grep abc
管道前面的命令 ll 是显示当前目录下的文件,后面的命令 grep abc 是从列出的文件名中寻找含有abc 字符串的文件或者目录
常见的管道符如下表所示:
|
命令1 | 命令2
顺序执行多个命令,命令之前没有任何逻辑关系
&&
命令1&& 命令2
逻辑与(类似编程语言中的短路与)
命令1 正确执行,命令2才会执行
命令1 未正确执行,则命令2不会执行
||
命令1|| 命令2
逻辑或(类似编程语言中的短路或)
命令1未正确执行,则命令2才会执行
命令2正确执行,则命令2不会执行
14.1 管道命令的应用
工作中常见应用:
14.1.1 查找端口
netstat -apn | grep 3306
通过netstat -pna 显示所有端口占用信息,采用管道符号将输出作为后一个命令 grep的输入,如果查询到了则会显示占用3306 端口的 进程编号等信息,假设查找到的进程编号为5541,进一步杀掉进程:
kill -9 5541
14.1.2 查询进程
ps -ef | grep tomcat
通过ps -ef 显示所有进程信息,采用管道符号将输出作为后一个命令grep 的输入,如果查询到了则会显示包含 tomcat 字符串的进程信息,假设查找到的进程编号为5541,进一步杀掉进程:
kill -9 5541
15. vi编辑器的使用
15.1 什么是vi/vim
vi编辑器是linux 下最有名的文本编辑器,也是我们学习linux必须掌握的工具,在linux 下也可使用vi 进行程序的开发,如java 程序、c 程序等,但目前使用比较多的是vim 编辑器,相当于vi 的加强版,vim 具有程序编辑的能力,可以对各种程序进行语法高亮。
15.2 vi/vim 的使用
vi/vim 包含三种模式:分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
15.3 命令行模式(command mode)
启动vi/vim时,就进行了命令行模式,在该模式下,敲击键盘的动作都会被识别为命令。比如在该模式下按下i 键,会被当成是一个命令,即进入insert 模式的命令。
该模式下可以控制光标移动、字符或者行的删除等,下面是常用的几个命令:
i
切换到insert模式
x
删除当前光标处字符
:
切换到底行模式,然后可以在最底下一行输入命令
15.4 插入模式(insert mode)
命令行模式下输入i ,可以进入插入模式,只有在insert mode 下,才可以做文字输入,按[ESC] 键可回到命令行模式。
进入插入模式有三种方式,区别如下:
输入i 切换到插入模式,从当前光标位置开始输入文字
输入a 切换到插入模式,从当前光标所在位置的下一个位置开始输入文字
输入o 切换到插入模式,是插入新的一行,从行首开始输入文学
15.5 底行模式(last line mode)
命令模式下,可以输入:进入底行模式,底行模式下,可以操作将文件保存或退出vi 、也可以设置编辑环境、如寻找字符串、列出行号等。
进入底行模式,有以下常用的命令:
:q! 不保存退出
:w 保存
:wq 保存退出
15.6 其他常见操作
15.6.1. 搜索
输入/和需要搜索的字符串,按enter键可以进行搜索,如果首先找到的关键字不是你想要的,可以一直按n 键向后继续搜索,直到找到要搜索的关键字。
15.6.2 显示行数
输入 :set nu,显示每一行的行数
15.6.3 定位
输入:行数,如:100 ,可以定位到100 行
15.6.4 删除
插入模式下,可以使用delete 删除
x: 每按一次,删除光标所在位置前面一个字符
dd:按dd删除光标所在行
15.6.5 vi 字符替换
vi的 几种替换功能:
:s/hello/lemon/
替换当前第一个hello为lemon
:s/hello/lemon/g
替换当前行所有 hello 为lemon
:%s/hello/lemon/g(等同于g/hello/s/lemon/g)
替换每一行中所有hello 为lemon
vi 虽然具有非常强大的编辑功能,比如替换功能。但是因为在命令行模式下编辑相对复杂,所以很多时候复杂的操作我们一般在pc 机上操作完,再将文件上传到linux。
15.7 常见快捷键
vi/vim 下移动光标快捷键:
键盘上的上下左右箭头
上下左右箭头移动光标
esc
命令模式
Ctrl+b
屏幕后移动一页
Ctrl+f
屏幕前移动一页
Ctrl+d
屏幕后移动半页
数字0
移动文章的开头
G
移动到文章的最后
g
移动到文章的开头
$
移动到光标所在行的行尾
^
移动到光标所在行的行首
W、w
移动到下一个单词的开头
W、e
移动到下一个单词的字尾
B、b
移动到前一个单词的开头
$
行尾
{
段首
}
段尾
(
句首
)
句尾
15.8 实例
在linux 使用vi 创建一个hello.txt文件,编辑内容为”Hello Lemon” ,步骤如下:
第一步,命令行下输入:vi hello.txt ,进入文档编辑器中的命令模式,vi hello.txt命令编辑或创建hello.txt,如果存在则编辑该文件,不存在则创建
第二步,按下i键,进入插入模式,输入内容”Hello Lemon”
第三步,按esc键,退出编辑模式,按: 进入底行模式,输入wq,退出编辑并保存。
16. mysql 安装和配置
Mysql 是一个关系型的数据库管理系统,并且使用结构化查询语言(SQL)进行管理。因其体积小、速度快、开源免费等诸多优点,成为当下中小型网站的首选数据库。
本节教大家在linux 下采用在线安装的方式快速搭建mysql 数据库管理系统。
16.1 yum 在线安装
yum (Yellow dog Updater,Modified) 是一个shell前端软件包管理器,基于RPM包管理,Yum仓库是为了进一步简化RPM管理软件难度而设计的。Yum可以根据用户的指令、分析出需要的软件包以及相关的依赖包,自动从指定的服务器下载软件包并进行安装,可以自动处理依赖性关系,不需要繁琐的去进行各种依赖包的下载安装,因此yum 在线安装方式较源码编译安装简单、方便,适合初学者在linux下进行软件安装。
Root用户登录linux ,输入一下命令:
yum -y install mysql-server
16.2.启动数据库
上面安装过程大家可以对在 windows机器上的软件安装。 MySQL数据库管理系统是一个软件,使用软件的前提是打开软件(启动数据库)
输入一下命令,然后按回车键,启动 MySQL数据库管理系统。
service mysqld start
当出现如下过程的时候表示数据库启动成功,第一次启动会初始化 MySQL的系统表及相关数据。
Service 是linux中管理系统服务的命令,语法格式是
service 服务名 {start|stop|restart|status}
采用yum 进行mysql 在线安装后,会在linux 中生成一个mysql的服务,注意服务名最后有一个字符”d”,表示守护进程。守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务,这里不详述。
特别注意的是,如果没有设置mysql 开机启动,那么每次linux 关机再启动后,mysqld 服务会被关闭,请使用service mysqld status 命令确保 mysqld 服务是在运行状态,否则无法使用数据库服务。
16.3 命令行模式操作 mysql
启动数据库后,输入命令mysql直接进入mysql的命令行下(即登录数据库):
注意该模式与linux命令行模式的区别,mysql命令行模式下只能输入SQL语句,如果要退出到linux 命令行模式下,可以输入exit、quit 或者使用快捷键ctrl+c。
登录到mysql 下后,可以使用如下命令查看关联系统中存在的数据库。
show database;
注意SQL语句需要英文的分号结尾,回车运行该语句后,列出了已经存在的三个系统自带的数据库。
16.4 配置mysql 连接用户
16.4.1 linux 本机登录mysql
为什么上面输入mysql 命令能够直接登录数据库呢 ,因为没有mysql 数据库管理系统中存在一个系统库mysql,该数据库中的user 表维护了能够登录管理系统的用户、主机和密码等信息。
输入以下语句使用mysql库
use mysql;
输入以下语句查看支持连接到数据库管理系统的用户、主机和密码信息
select user,host,password from user;
输入语句回车,上图显示的列表中,每一个行信息表示一个可以连接到mysql 管理系统的用户,user 列表示登录用户名称,host 表示支持连接的主机,password 表示登录密码(上面5个用户的登录密码都为空)。
输入mysql 时,没有指定用户名、主机名和密码,使用的是列表中的第4个用户进行登录,那怎么使用第一个用户进行登录呢?很简单,通过-u 参数指定用户名
mysql -u root
或者加上-u 参数指定用户名,-p 参数,然后回车,会提示输入密码,第一个用户的密码为空,所以直接回车,也可以登录到数据库管理系统
mysql -u root -p
16.4.2 其他主机登录mysql
同理,其它主机要登录到mysql,就需要把主机的ip 地址配置到user表中。而学习过程中,我们一般配置一个“%”的主机,表示通配所有的主机,任何主机只要网路是连通的就可以登录到mysql管理系统。
Mysql 中可以直接采用授权的方式新增支持登录的用户信息记录,赋权语句如下:
grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’ with grand option;
表示新建一个用户,登录用户名为root 、主机名为通配符“%”、密码为“123456”,拥有对数据库的超级管理权限。
输入下面语句使授权生效:
flush privileges;
执行上面两条SQL后,我们再来 看一下user表中的信息。
select user,host,password from user;
16.4.3 远程连接mysql 服务器
采用上面新建的连接用户信息,打开Navicat For MySQL软件远程连接mysql 数据库管理系统。
点击连接,弹出输入连接信息框
输入正确的连接信息:数据库对应服务器的ip、登录用户名root、密码123456,点击左下角的连接测试,如果弹出连接成功,表示连接信息无误。
点击确定保存连接,双击连接,可以直接连接上mysql 管理系统。
如果连接不上,检查数据库服务是否启动、连接信息是否填写正确,另外查看防火墙是否关闭,如果没有关闭,关闭掉防火墙。
16.5 Yum 方式卸载mysql
一:输入以下命令:
yum -y remove mysql*
执行完成后出现如下完成提示
二:查找mysql安装文件
find / -name mysql
三:用 rm -rf 删除查找出mysql 文件
Rm -rf /var/lib/mysql
本文来源网络,如有侵权,请联系删除。返回搜狐,查看更多
责任编辑: