Linux入门笔记

Linux

图片上出到博客不好弄若要完成文档,留言联系

1 ssh连接

ssh用于远程连接服务器

网卡设置

cd /
cd etc
cd sysconfig
cd network-scripts
vi ifcfg-ens33

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6UeOtfem-1692182016058)(…/md文件制作所需图片/Snipaste_2023-08-10_21-53-39.png)]

设置好之后重启虚拟机,就可以查看ip地址了

2Linux 特点

一切从根目录开始

​ / 是所有目录的顶点

​ 目录结构像个倒挂的树

3 Linux常用命令

序号命令对应英文作用
1lslist查看当前目录下的内容
2pwdprint work directory查看当前所在目录
3cd[目录名]change directory切换目录,\为根目录
4touch[文件名]touch如果文件不存在,新增文件
5mkdir[目录名]make directory创建目录
6rm[文件名]remove删除指定文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUnjRRnA-1692182016058)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728155038493.png)]

其中蓝色表示目录,白色表示文件

在执行Linux命令时,如果提示信息为乱码,只是由于编码问题导致的,只需要修改Linux即可,命令如下:

echo 'LANG="en_US.UTF-8"'>> /etc/profile
source /etc/profile

4 Linux使用技巧

~ Tab键自动补全

连续两次Tab键,给出操作提示

使用上下箭头快速调处曾经使用过的命令

~使用clear命令或Ctr+快捷键实现清屏

Ctr+l
或
clear

Linux命名格式

语法

command [-option][paramter]

command:命令名

option:选项、可用来对命令进行控制,也可以省略

paramter: 传给命令参数,可以是零个,一个或者多个

注意:

[]代表可选

命令名,选项,参数之间必须要有空格进行分隔

eg

cd /root
touch 1.txt 2.txt 3.txt

常用命令

ls

作用:查看当前目录下的内容

语法显示

ls [-al][dir]

查看指定dir目录下都有什么文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1bpumf74-1692182016059)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163429823.png)]

说明

-a:显示所有文件及目录(.开头的隐藏文件也会列出)

-l: 除了文件名称之外,同时间文件形态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细的列出来

注意:ls -l 可以简写为 ll

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22AHXRcn-1692182016059)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163206396.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPxW4Etf-1692182016059)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163233419.png)]

cd

作用:切换到当前目录进行工作,即进入指定目录

语法: cd[dirname]

说明

~ 表示当前用户的home目录
. 表示当前所在的目录
..表示当前目录的上级目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fvPAOfii-1692182016060)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163906258.png)]

eg

cd..切换到当前目录的上一级目录
cd ~切换到用户的home目录
cd /usr/local切换到/usr/local目录

cat

作用:用于显示文件内容

语法:

cat[-n] fileNmae

说明:

-n :由一开始对所有输出的行数编号

举例

cat /etc/profile 查看/etc目录下的profile文件内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5HFOUBzG-1692182016062)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728164531791.png)]

more

作用:以分页的形式显示文件内容

语法

more fileName

操作说明:

回车键 向下滚动一行

空格键 向下滚动一屏

b 返回上一屏

q或Ctrl+C 退出more

举例

more /etc/profile    以分页的形式显示/etc目录下的profile文件内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyN3tW5c-1692182016062)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728204132682.png)]

tail

作用:查看文件末尾的内容并显示,通常用于日志文件的内容输出

语法:

tail [-f]fileName

说明:

-f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:

tail /etc/profile 显示/etc目录下的profile文件的末尾10行的内容

tail -20 /etc/profile 显示/etc目录下的profile文件的末尾20行的内容

tail -f/itcast/my.log 动态读取/itcast目录下的my.log文件的末尾内容并显示

mkdir

作用:创建目录

语法:

mkdir [-p] dirName

说明:

-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例:

mkdir itcast 在当前目录下建议一个名叫itcast的子目录

mkdir -p itcast/test 在工作目录下的itcast目录中创建一个名叫test的子目录,若itcast目录不存在,则建立一个

rmdir

作用:删除空目录

语法:

remdir [-p] dirName

-p:当子目录删除后使父目录为空的话,则一并删除

举例:

rmidr itcast 删除名为itcast的空目录

rmidr -p itcast/test 删除itcast/目录下的test,若删除后itcast为空目录,则itcast也会被删除

rmidr itcast * 删除名称以itcast开始的空目录

rm

作用:删除文件或目录

语法:

rm [-rf]name

说明:

  • -r: 将目录即目录中所有文件(目录)逐一删除,即递归删除

  • f:无需确认,直接删除

举例:

rm -r itcast/ 删除名为itcast的目录和目录中的所有文件,删除前需要确认

rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中的所有文件

rm -f hello.txt 无需确认,直接删除hello.txt文件

cp

作用:用于复制文件或目录

语法

cp [-r] source dest

说明:

-r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

举例:

  • cp hello.txt itcast/ 将hello.txt 复制到itcast目录中
  • cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并且改名为hi.txt
  • cp -r itcast/./itheima/ 将itcast目录和目录下的所有文件复制到itheima目录下,相当于将怎个itcast目录复制到itheima中
  • ./表示当前目录
  • cp -r itcast/*./itheima/ 将itcast目录下的所有文件复制到itheima目录下

mv

作用:为文件或目录改名,或将文件或目录移动到其他位置

语法:mv source dest

source :原

dest:destination目标

举例

  • mv hello.txt hi.txt 将hello.txt改名为hi.txt

  • mv hello.txt itheima/ 将hello.txt移动到itheima目录中

  • mv hello.txt itheima/hi.txt 将hello.txt移动到itheima目录中,并改名为hi.txt

  • mv itcast/itheima/ 如果itheima不存在,将itcast改名为itheima,

  • ​ 如果存在,将itcast目录移动到itheima目录中中

tar

作用:对文件进行打包、解包、压缩、解压

语法:

tar [-zcxvf] fileName [files]

包文件后缀为.tar表示只是完成了打包,并没有进行压缩

包文件后缀为.tar.gz表示打包的同时还进行了压缩

说明:

  • -z : z表示gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -c : c表示create,即创建新的包文件
  • -x : x代表的是extract,实现从包文件中还原源文件
  • -v : v代表verbose,显示命令的执行过程
  • -f : f代表的是file,用于指定包文件的名称

eg

打包

tar -cvf itcast.tar itcast//将itcast进行打包操作,包名为itcast.tar
tar -cvf itcast.tar ./*    //将当前目录下的所有文件进行打包操作


tar -zcvf itcast.tar.gz itcast//打包的同时又压缩,压缩包名为itcast.tar.gz 
tar -zcvf itcast.tar.gz ./       //将当前目录下的所有文件进行压缩

运行结果

-rw-r--r--. 1 root root 10240 7月  28 21:58 itcast.tar
-rw-r--r--. 1 root root   185 7月  28 22:01 itcast.tar.gz

解压操作

tar -xvf itcast.tar//将itcast.tar包还原为源文件,位置为当前文件夹
tar -zxvf itcast.tar.gz //将itcast.tar.gz压缩包解压到当前文件夹
tar -zxvf itcast.tar.gz-C/usr/local   //将itcast.tar.gz文件进行解压,并将压缩后的文件放在/usr/local目录
										这里的C是分大小写的

显然打包后压缩的文件小于只打包的文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4aLwMPrC-1692182016062)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728215922155.png)]

vi

文本编辑命令

作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行修改,类似于windows中的记事本

语法:

vi fileName

说明:

vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用

vim

作用:对文本进行编辑,相当于文本编辑器

语法

vim fileName

2、 要使用vim命令,需要我们自己完成安装,可以使用以下命令完成安装

yum install vim

说明

1、使用vim命令编辑文件时,如果指定文件存在则直接打开此文件,否则创建新文件

2、vim编辑文本分为三种模式命令模式(Command mode)、插入模式(Insert mode)、和底形模式(Last line mode).

这三种模式可以相互切换。我们在使用vim时要注意我们当前所处于哪种模式

针对三种模式的说明

1、命令模式

  • 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg(将光标移动到文件的开头)、G(将光标移动到文件的末尾))
  • 通过vim命令打开文件后,默认进入命令模式
  • 另外两种模式需要先进入命令模式,才能进入彼此(如:当前为插入模式想要换到底形模式,需要先切换到命令模式再切换到底形模式)

2、插入模式

  • 插入模式可以对文件内容进行编辑
  • 在命令模式下按[i,a,o]任意一个都可以进入插入模式。进入插入模式后,下方会出现[insert]字样
  • 在插入模式下按ES键,回到命令模式

3、底形模式

  • 底形模式下可以通过命令对文件内容进行查找、显示、退出等操作
  • 在命令模式下按[:,/]中任意一个,可以进入底形模式
  • 通过/方式进入底形模式后。可以对文件内容进行查找
  • 通过:进入底形模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

find

查找命令

作用:在指定目录下查找文件

语法

find dirName -option fileName

在目录dirName及其子目录下查找 以fileName为名的内容

举例

  • find . -name “*.java“ 在当前目录及其子目录下查找 .java结尾的文件

  • find /itcast -name “*.java” 在/itcast目录及其子目录下查找.java结尾的文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rsyzOn6z-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728225423977.png)]

grep

作用:从指定文件中查找指定的文本内容

语法:grep word fileName

举例:

  • grep Hello HelloWorld.java 查找 HelloWorld.java 文件中出现 Hello 字符串的位置

  • grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

文件内容为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LOvJr0GW-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728230522733.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xtXgL2qR-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728230413939.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnTx658T-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728230436995.png)]

4 软件安装

4.1 软件安装的方式

  • 二进制发布安装包
  • rpm安装
  • yum安装
  • 源码编译安装

4.2 安装jdk

操作步骤:

1、使用FinalShell自带的上传工具将jdk的二进制发布包传到Linux

2、解压安装包,命令为:tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

3、配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

即JAVA_HOME=jdk解压的位置

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

4、重新加载profile文件,使更改的配置立即生效,命令为: source /etc/profile

5、检查安装是否成功,命令为java -version

将文件上传的Linux操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h0FHraRE-1692182016063)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729125644385.png)]

Tomcat安装

操作步骤:

1、使用FinalShell自带的上传工具将Tomcat的二进制发布包传到Linux

2、解压安装包,命令为:tar -zxvf apach-tomcat-7.0.57.tar.gz -C /usr/local

3、进入Tomcat的bin目录启动服务,命令为sh startup.sh或./startup.sh

验证Tomcat启动是否成功,有多种方式

  • 查看启动日志

    - more /usr/local/apach-tomcat-7.0.57/logs/catalina.out
    - tail -50 /usr/local/apach-tomcat-7.0.57/logs/catalina.out
    
  • 查看进程 ps -ef|grep tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pn7AwqTD-1692182016063)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729134109676.png)]

注意:

  • ps命令时Linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
  • “|” 在Linux中成为管道符,可以将前一个命令的结果输出给后一个命令作为输入
  • 使用sp命令查看进程时,经常配合管道符和查找命令一起使用,用来查看特定进程

验证tomcat正常运行之后,我们在我们电脑浏览器中进行访问tomcat时是访问不成功的因为Linux的防火墙是开启的状态

Linux中防火墙的操作命令
  • 查看防火墙的状态(systemctl status firewalld、firewall-cmd - -state)
  • 暂时关闭防火墙(systemctl stop firewalld)
  • 永久关闭防火墙(systemctl disable firewalld)
  • 开启防火墙(systemctl start firewalld)
  • 开放指定端口(关闭指定端口防火墙)( firewall-cmd --zone=public --add-port=6379/tcp --permanent)
  • 关闭指定端口(firewall-cmd - -zone=public --remove-port=8080/tcp - -permanent)
  • 立即生效(firewall-cmd --reload)
  • 查看开放端口(firewall-cmd --zone=public --list-ports)

注意:

1、systemctl 是管理Linux中服务的命令,可以对服务器进行启动、停止、重启、产看状态等操作

2、firewall-cmd是Linux中专门用于控制防火墙的命令

3、为保证系统安全,服务器的防火墙不建议关闭

4、不管是开放指定端口还是关闭指定端口在操作完之后都需要执行立即生效的命令

停止运行tomcat
  • 运行Tomcat的bin目录中提供的停止服务的脚本文件 shutdown.sh

    sh shutdown.sh
    ./shutdown.sh
    
  • 结束Tomcat进程

    • 查看Tomcat进程,获得进程id

      ps -ef |grep tomcat
      kill -9 进程id
      

​ 执行命令结束进程:kill -

注意:

kill 命令是LInux提供的用于结束进程的命令, -9表示强制结束

安装MySQL

1、检查当前系统中是否安装了MySQL数据库
rpm -qa  查询当前系统中的所有软件
rpm -qa|grep mysql 查询当当前系统中安装的名称带mysql的软件
rpm -qa|grep mariadb  查询当前系统中安装的名称带mariable的软件

RPM(Red-Hat Package Manager) RPM软件管理器,

注意事项

如果当前系统中已经安装了MySQL数据库,安装失败。CentOS7自带的mariadb,于MySQL数据冲突

2、卸载已经安装的冲突软件
rpm -e --nodeps 软件名          卸载软件
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vHmdI4o8-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230814225243729.png)]

3:将MySQL安装包上传到Linux并解压
mkdir /usr/local/mysql
tar -zxvf mysql 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wfoloHds-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729145602353.png)]

4、按顺序安装rpm软件包
 rpm -ivh  mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh  mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh  mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh   mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh   mysql-community-client-5.7.25-1.el7.x86_64.rpm
 yum install net-tools
 

说明一:安装过程中提示缺少net-tools依赖,使用yum安装

说明二:可以通过指令升级现有软件系统内核

执行命令

yum update
5、启动mysql

命令:

systemctl staus mysqld        查看mysql服务状态
systemctl start mysqld        启动mysql服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xi27ump4-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729151756287.png)]

启动后:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7w0iBQS-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729151822294.png)]

说明:可以设置开机时启动mysql服务,避免每次启动mysql

命令

systemctl enable mysqld   开机启动mysql服务
netstat -tunlp         查看已经启动的服务
netstat -tunlp|grep mysql

ps -ef|grep mysql 查看mysql进程

mysql默认为3306 端口号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxW0itV2-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729152327209.png)]

6、登录MySQL数据库,查阅临时密码
cat /var/log/mysqld.log         查看文件内容
cat /var/log/mysqld.log|grep password        查看文件中包含passwrd的行信息

注意:冒号后面的时密码,注意空格

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m3LPM7YA-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729152731281.png)]

7、登录MySQL,修改密码,开放访问权限
mysql -uroot -p               登录Mysql(回车后第一次登录使用临时密码登录)
#修改密码
set global validate_password_length=4;设置密码长度的最低位数
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改为abc123
set password=password('abc123');
#开启权限访问
grant all on *.*to 'root'@'%'identified by 'abc123';
flush privileges;

注意命令后面的分号且第7条指令中第一个引号内为‘用户名’,第二个引号内为‘数据库的连接密码’

退出mysql使用命令exit

重新登陆mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vPjduj1S-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729154109881.png)]

之后就可以用Linux操作mysql数据库了

在配置文件/etc/my.cnf中修改配置

因为刚安装Mysql默认只能本地连接

要在/etc/my.cnf配置文件中加上或修改为bind-address = 0.0.0.0,如果不修改他默认为bind-address = 127.0.0.1只允许本地连接

vim /etc/my.cnf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GIxUxU3t-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230815213652188.png)]

安装 lrzsz

步骤:

1、搜索lrzsz安装包,命令yum list lrzsz

yum list 软件名

搜索软件名安装包

2、使用yum命令在线安装,命令为yum install lrzsz.x86_64

yum install 搜索出来的软件进行下载

注意事项:

Yum是一个Fedora和Redhat以及CentOS中的Sell前端软件包管理器,基于RPM包管理,能从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需频繁的一次次下载、安装

安装好之后,在想进行文件上传,只需执行命令:rz即可,Linux会自动弹出一个选择框

搜索软件安装yum命令

yum list 软件名

1、搜索lrzsz安装包,命令yum list lrzsz

搜索软件名安装包

yum install 搜索出来的软件进行下载

2、使用yum命令在线安装,命令为yum install lrzsz.x86_64

项目部署

手工项目部署

步骤:

1、将项目文件的jar包上传到Linux

2、执行 java -jar 加上上传的jar包的文件名

3、当项目运行起来时查看一下,LInux防火墙的8080端口是否对外开放

4、若端口号被占用

lsof -i 8080查到 PID后再kill -9 PID

部署好后

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3e0fcfEJ-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230730180944644.png)]

浏览器进行访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GRPyKYm7-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230730180923234.png)]

5、改为后台运行SpringBoot程序,并将日志输出到后台运行

目前程序运行的问题:

  • 线上程序不会采用控制台霸屏的形式运行,而是将程序在后台运行
  • 线上程序不会将日子输出到控制台,而是输出到日志文件,方便运维查阅信息
nuhup命令:英文名称no hang up 不挂起,用于不挂断的运行指定命令,推出终端不会影响程序的运行
语法格式:
		nohup Command[Arg..][&]
arg:一些参数,可以指定输出文件
&: 让命令在后台运行
举例:
nuhup -jar boot工程.jar &>hello.log &     后台运行java -jar 命令,并将日志输出到hello.log文件

如果部署不成功报了java未找到的错误

则需要重新命令java的环境变量

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

6、停止Springboot程序

ps -ef|grep 'java -jar'
kill -9 DIP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XbHpkSPo-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230730183421943.png)]

通过shell 脚本自动部署

操作步骤

1、在Linux中安装Git(拉取代码)

2、在Linux中安装Meaven(编译、打包)

3、编写Shell脚本(拉取代码,编译、打包、启动)

4、为用户授予执行Shell脚本的权限

5、执行Shell脚本

1 安装git

yum list git     列出git安装包
yum install git  在线安装git

2 使用Git克隆代码

cd /usr/local/
git clone 

3 使用Git克隆代码

cd /usr/local/
git clone 仓库地址

4 安装meaven

将meaven安装包上传到Linux,在Linux中安装maven

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local/

配置环境变量

vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

source /etc/profile   重新加载profile文件,使文件生效
mvn -version   		查看安装的maven版本,检查是否安装成功

进入local文件夹下创建一个repo本地仓库
vim /usr/local/apache-maven-3.5.4/conf/setting.xml   配置内容如下
<localRepository>/usr/local/repo/<localRepository>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L9xeMYjt-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805145147141.png)]

4 将提供的shell脚本复制到Linux

后缀为.sh文件

内容为

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=demo02

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仓库拉取最新代码
cd /usr/local/demo02

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
nohup java -jar demo02-1.0-SNAPSHOT.jar &> demo02.log &
echo 项目启动完成

cd /usr/local/
mkdir sh
cd sh/
vim bootStart.sh
进入命令模式
按i/a进入插入模式
将代码复制进入后按ESC退出再按:wq保存退出

将该代码修改为想要运行的项目名之后将其复制到新建的bootStart.sh文件

5为用户授权

chmod (英文:change mode) 命令是控制用户对文件的权限的命令

Linux中的权限分为:读(r)、写(w)、执行(x)三中权限

Linux的文件调用权限分为三级:文件所有者(Owner)、用户组(Group)、其他用户(Other Users)

例如:

-r--r--r--
-rwxrw-r-x
连同第一个r在内的三位表示文件所有者的权限
中间三个为用户组权限
最后三个为其他用户的权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZxuKVPeo-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805151748978.png)]

可见文件所有者并没有执行的权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h4L1YFuE-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805151947173.png)]

只有文件所有者和超级用户具有可以修改文件或目录的权限

执行shell脚本需要有对脚本文件的执行权限,如果没有则不能执行

为用户授权

chmod 命令可以用八进制数来指定授权

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3zC6z9C-1692182016066)(…/…/Documents/Tencent Files/3169927892/Image/C2C/012012BAF3E05ABAE1C7959D202ADD47.jpg)]

例如:

chmod 777 文件名   //为该文件赋予权限
例如
chmod 777 bootStart.sh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WEiD6prr-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805152344533.png)]

此时再执行bootStart.sh文件时就能执行了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aT5b7WyN-1692182016067)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805152535248.png)]

打开日志如果出现 Error: Unable to access jarfile /usr/local/demo02/target/demo02-1.0-SNAPSHOT.jar

cat /usr/local/demo02/target/demo02.log

则将要执行的jar包的路径改为绝对路径即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kn5PV2uL-1692182016067)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805165802448.png)]

6若要更新代码时需要在idea中联通target文件一起推送到远程仓库中

7 设置静态ip

修改配置文件:/etc/sysconfig/network-scripts/ifcfg-en33

将ip改为静态不变的

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
修改类容=====

BOOTPROTO=dhcp改为"static"       #设置静态IP地址
IPADDR="你的ip地址"               #设置的静态ip地址
NETMASK="子网掩码"					#设置子网掩码
GATEWAY="网关地址"					#设置网关地址
DNS1="DNS服务器"					#DNS服务器

==================
DEFROUTE=yes
IPV4_FAILURE_FATAL=no 
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6eb4b8e7-99a1-40b4-b11c-bbf15fb9df28
DEVICE=ens33
ONBOOT=yes
ZONE=public

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-13cLqcha-1692182016067)(…/md文件制作所需图片/Snipaste_2023-08-05_17-23-39.png)]
者和超级用户具有可以修改文件或目录的权限

执行shell脚本需要有对脚本文件的执行权限,如果没有则不能执行

为用户授权

chmod 命令可以用八进制数来指定授权

[外链图片转存中…(img-F3zC6z9C-1692182016066)]

例如:

chmod 777 文件名   //为该文件赋予权限
例如
chmod 777 bootStart.sh

[外链图片转存中…(img-WEiD6prr-1692182016066)]

此时再执行bootStart.sh文件时就能执行了

[外链图片转存中…(img-aT5b7WyN-1692182016067)]

打开日志如果出现 Error: Unable to access jarfile /usr/local/demo02/target/demo02-1.0-SNAPSHOT.jar

cat /usr/local/demo02/target/demo02.log

则将要执行的jar包的路径改为绝对路径即可

[外链图片转存中…(img-kn5PV2uL-1692182016067)]

6若要更新代码时需要在idea中联通target文件一起推送到远程仓库中

7 设置静态ip

修改配置文件:/etc/sysconfig/network-scripts/ifcfg-en33

将ip改为静态不变的

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
修改类容=====

BOOTPROTO=dhcp改为"static"       #设置静态IP地址
IPADDR="你的ip地址"               #设置的静态ip地址
NETMASK="子网掩码"					#设置子网掩码
GATEWAY="网关地址"					#设置网关地址
DNS1="DNS服务器"					#DNS服务器

==================
DEFROUTE=yes
IPV4_FAILURE_FATAL=no 
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6eb4b8e7-99a1-40b4-b11c-bbf15fb9df28
DEVICE=ens33
ONBOOT=yes
ZONE=public

[外链图片转存中…(img-13cLqcha-1692182016067)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值