usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
文本编辑命令
文本编辑的命令,主要包含两个: vi (linux 自带得)和 vim (安装插件),两个命令的用法类似,这里主要介绍vim的使用。
vim安装:
yum install vim
对文件内容进行编辑,vim其实就是一个文本编辑器
语法: vim fileName
说明:
1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。
三种模式:
- 命令模式
A. 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
B. 通过vim命令打开文件后,默认进入命令模式
C. 另外两种模式需要首先进入命令模式,才能进入彼此
命令模式指令 |
含义 |
gg |
定位到文本内容的第一行 |
G |
定位到文本内容的最后一行 |
dd |
删除光标所在行的数据 |
ndd |
删除当前光标所在行及之后的n行数据 |
u |
撤销操作 |
shift+zz |
保存并退出 |
i 或 a 或 o |
进入插入模式 |
-
插入模式
A. 插入模式下可以对文件内容进行编辑
B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
C. 在插入模式下按下ESC键,回到命令模式
-
底行模式
A. 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
B. 在命令模式下按下[:,/]任意一个,可以进入底行模式
C. 通过/方式进入底行模式后,可以对文件内容进行查找
D. 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
底行模式命令 |
含义 |
:wq |
保存并退出 |
:q! |
不保存退出 |
:set nu |
显示行号 |
:set nonu |
取消行号显示 |
:n |
定位到第n行, 如 :10 就是定位到第10行 |
?
查找命令
find - 在指定目录下查找文件
作用: 在指定目录下查找文件
语法: find dirName -option fileName
举例:
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件
grep - 从指定文件中查找指定的文本内容
作用: 从指定文件中查找指定的文本内容
语法: grep word fileName
举例:
grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
grep -n '王者' 大说.txt 查找文件中存在的数据,并且显示行号。
项目部署
之前我们讲解Linux操作系统时,就提到,我们服务端开发工程师学习Linux系统的目的就是将来我们开发的项目绝大部分情况下都需要部署在Linux系统中。那么在本章节,我们将通过两种方式,来演示项目部署,分别是:手动部署项目 和 基于shell脚本自动部署。
1.手动部署项目
nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式: nohup Command [ Arg … ] [&]
参数说明:
? Command:要执行的命令
? Arg:一些参数,可以指定输出文件
? &:让命令在后台运行
举例:
? nohup java -jar boot工程.jar &> hello.log &
? 上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件
2. 基于Shell脚本自动部署
Git操作
1). Git软件安装
yum list git 列出git安装包
yum install git 在线安装git
2). Git克隆代码
cd /usr/local
git clone https://gitee.com/cqwiu/helloworld.git
Shell脚本准备
Shell脚本(shell script),是一种Linux系统中的脚本程序。使用Shell脚本编程跟 java script、Java编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
对于Shell脚本编写不作为本课程重点内容,直接使用课程资料中提供的脚本文件bootStart.sh即可。
在/usr/local/目录下创建一个目录 sh(mkdir sh),并将shell脚本上传到该目录下。
mkdir -p /usr/local/sh
cd /usr/local/sh
vim bootStart.sh
- 把如下的内容复制到 bootStart.sh 文件中
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
# APP_NAME 项目的名称
APP_NAME=项目名
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
# /usr/local/linux2 地址码云拉项目的文件夹
cd /usr/local/项目名
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd t