1、基本命令
Linux命令行格式:
command [-options] [parameter]
- [] 表示可选
- 命令名、选项、参数之间用空格进行分割
1.1、目录操作
ls:查看当前目录下的内容
- -a选项 显示所有文件及目录(包含隐藏文件及目录,以.开头为隐藏文件或目录)
- -l选项 除文件名称外,同时将文件形态(d表示目录,-表示文件)、权限、拥有者、文件大小等详细信息
pwd:查看当前所在目录
cd 目录名 切换目录
~
表示用户的home目录.
表示当前所在目录..
表示当前目录位置的上级目录
mkidr 目录名 创建目录
- -p选项 确保目录名称存在,不存在的就创建一个。 通过此选项,可以实现多层目录同时创建
rmdir 目录名 删除空目录
- -p选项 当子目录被删除后若父目录为空目录的话,则一并删除
rm [文件名/目录名] 删除指定文件或目录
- -f选项 不询问提示,直接删除
- -rf选项 递归删除且不提示
cp 源数据 目标地址 用于复制文件或目录
- -r 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
mv 源数据 目标地址 为文件或目录改名、或将文件或目录移动到其它位置
1.2、文件操作
touch [文件名] 如果文件不存在,新建文件
cat [文件名称] 显示文件内容
- -n选项 输出行数编号
more [文件名称] 以分页的形式显示文件内容
- 回车键 向下滚动一行
- 空格键 向下滚动一屏
- b 返回上一屏
- q或者ctrl+c 退出more
tail [-显示行数] 查看文件末尾的内容
- -f选项 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
1.3、打包及压缩
tar [zc/xvf] 文件/目录名称 要打包的文件/目录
- 包文件后缀为
.tar
表示只是完成了打包,并没有压缩 - 包文件后缀为.
tar.gz
表示打包的同时还进行了压缩
打包命令:tar -cvf 打包的名称.tar
目录名称
解包命令:tar -xvf 目录名称
打包并压缩:tar -zcvf 打包并压缩的名称tar.gz
目录名称
解包并压缩:tar -zxvf 目录名称
解压缩并存放指定位置:tar -zxvf 目录名称 -C /usr/local
选项说明:
- -z:z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
- -c:c代表的是create,即创建新的包文件
- -x:x代表的是extract,实现从包文件中还原文件
- -v:v代表的是verbose,显示命令的执行过程
- -f:f代表的是file,用于指定包文件的名称
1.4、文件编辑命令 vi/vim
vi/vim 文件名称 vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
说明:
- vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用
- 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:
yum install vim
- 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件
- vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode) ,插入模式(Insert mode)和底行模式(Last line mode)
- 这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是那种模式
命令模式:通过vim命令打开文件,默认进入命令模式
- 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg 开头、G 末尾)
插入模式:此模式下可以对文件内容进行编辑
在命令模式下按下[i,a,o]任意一个
,可以进入插入模式。进入插入模式后,下方会出现[insert] 字样- 在插入模式下按下ESC键,回到命令模式
底行模式:底行模式下可以通过命令对文件内容进行查找 按 n 查找下一个
在命令模式下按下[:,/]任意一个
,可以进入底行模式- 通过此方式进入底行模式后,可以输入wq (保存并退出)、q! (不保存退出) 、set nu (显示行号)
1.5、查找命令
find 目录名 [-option] 通配符 在指定目录下查找文件
find . -name "*.java"
从当前目录及子目录查找以.java结尾的文件
grep 要查找的文本 文件名 从指定文件中查找指定的文本内容
grep hello HelloWorld.java 查找HelloWorld.java文件中出现的hello字符串的位置
2、软件安装
2.1、软件安装方式
二进制发布包安装:软件已经针对具体平台编译打包发布,只要解压,修改配置即可
rpm安装:软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
yum安装:一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
源码编译安装:软件以源码工程的形式发布,需要自己编译打包
2.2、JDK安装
-
使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux
jdk-8u171-linux x64.tar.gz
-
解压安装包,命令为
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
-
配置环境变量,使用vim命令修改
/etc/profile
文件,在文件末尾加入如下配置JAVA_HOME=/usr/local/jdk1.8.0_171 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH
-
重新加载profile文件,使更改的配置立即生效,命令为
source /etc/profile
-
检查安装是否成功,命令为java -version
2.3、TomCat安装
-
使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux
apache-tomat-7.0.57.tar.gz
-
解压安装包,命令为
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
-
进入Tomcat的bin目录启动服务,命令为
sh startup.sh或者./startup.sh
验证Tomcat启动是否成功,有多种方式:
-
查看启动日志
more /use/local/apache-tomcat-7.0.57/logs/catalina.out tail -50 /use/local/apache-tomcat-7.0.57/logs/catalina.out
-
查看进程
ps -ef | grep tomcat
ps命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
"|"
在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入使用ps命令查看进程时,经常配合管道符和查找命令grep一起使用,来查看特定进程
-
停止Tomcat服务的方式:
-
运行Tomcat的bin目录中提供的停止服务的脚本文件,进入到tomcat的bin目录下
sh shutdown.sh ./shutdown.sh
-
结束Tomcat进程
# 查看Tomcat进程,获得进程id ps -ef | grep tomcat # 执行命令结束进程 kill -9 进程id
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
3、防火墙操作
查看防火墙状态(systemctl status firewalld、firewall-cmd --state)
暂时关闭防火墙(systemctl stop firewalld)
永久关闭防火墙(systemctl disable firewalld)
开启防火墙(systemctl start firewalld)
开放指定端口(firewall-cmd --zone=public --add-port=8080/tcp --permanent)
关闭指定端口(firewall-cmd --zone=public --remove-port=8080/tcp --permanent)
立即生效(firewall-cmd --reload)
查看开放的端口(firewall-cmd --zone=public --list-ports)
4、部署项目
4.1、手工部署项目
- 把编写好的SpringBoot项目打包并上传至Linux服务器
- 并通过
java -jar boot工程.jar
启动该项目(需安装JDK环境),开启防火墙并指定开放端口
程序运行的问题
- 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
- 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
想法:改为后台运行SpringBoot程序,并将日志输出到日志文件
nohup命令:英文全称no hangup (不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式:nohup Command [Arg...] [&]
参数说明:
- Command 要执行的命令
- Arg 一些参数,可以指定输出文件
- & 让命令在后台运行
nohup java -jar hello-world-0.0.1-SNAPSHOT.jar &>hello.log &
停止boot工程
查询进程id并杀死该进程
ps -ef | grep java
kill -9 [进程id]
4.2、Shell脚本自动部署项目
-
在Linux中安装Git
yum list git yum install git
-
在Linux中安装maven
maven官网下载对应安装包(.tar.gz结尾),并上传至Linux服务器
解压缩:
tar -zxvf apache-maven-3.8.6-bin.tar.gz
vim /etc/profile 修改配置文件,加入以下内容 MAVEN_HOME=/opt/environment/apache-maven-3.8.6 PATH=$MAVEN_HOME/bin:$PATH export MAVEN_HOME PATH # 让配置生效,检测是否配置成功 source /etc/profile mvn -version vim /opt/environment/apache-maven-3.8.6/conf/settings.xml <localRepository>/opt/environment/repo</localRepository>
-
编写Shell脚本(拉取代码、编译、打包、启动)
-
为用户授予执行Shell脚本的权限
-
执行Shell脚本
配置静态ip
修改:vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改相关配置,可到虚拟机中的虚拟网络映射器NAT设置中查看自己具体Ip
BOOTPROTO="static" # 使用静态IP地址,默认为dhcp
IPADDR="192.168.138.100" # 设置的静态IP地址
GATEWAY="192.168.138.2" # 网关地址
DNS1= "192.168.138.2" # DNS服务器