目录
安装VMWare:
打开VMWare:
设置密码为root
跳出虚拟机的快捷键: Ctrl + Alt
设置root账号+密码:root root
设置完成后挂机再重启就可以显示IP了:
SSH:security shell
建立在应用层基础上的安全协议,通过SSH连接工具就可以实现从本地连接到远程的Linux服务器。
安装SSH连接工具:finalshell
每次启动时,需要从虚拟机获得IP地址,然后在finalShell中设置好IP地址(可以设置省略该步骤,使ip地址固定,不用每次配置,见:静态IP)
静态IP设置
修改ifcfg-ens33中的配置:
通过命令进入network-scripts目录:cd /etc/sysconfig/network-scripts/
输入命令:vi ifcfg-ens33
设置:BOOTPROTO=static
并在该文档内容的下面添加下面四行:
- IPADDR="192.168.159.128" #设置的静态IP地址,通过ip addr查得
- DNS1="192.168.159.2" #DNS服务器, 前三组数字和ip地址一样,最后一组是固定的2
- GATEWAY="192.168.159.2" #网关地址,前三组数字和ip地址一样,最后一组是固定的2
- NETMASK="255.255.255.0" #子网掩码 统一的
重启网络服务:systemctl restart networkip (或者关闭重新打开)
Linux命令初体验
ls | list | 查看当前目录下的内容 |
pwd | print work directory | 查看当前所在目录 |
cd [目录名] | change directory | 切换目录 |
touch [文件名] | touch | 如果文件不存在,新建文件 |
mkdir [目录名] | make directory | 创建目录 |
rm [文件名] | remove | 删除指定文件 |
如果有乱码:
Linux命令使用技巧
tab键自动补全
连续两次tab键,给出操作提示,发生在符合输入的几个字符的文件有好多个的时候
使用上下箭头快速调出曾经使用过的命令
使用clear命令或者Ctrl+快捷键实现清屏
Linux命令格式:
command [-options] [parameter]
说明:
command:命令名
-options:选项,可用来对命令进行控制,也可以省略
parameter:传给命令的参数,可以是零个,一个或者多个
文件目录操作命令ls:
作用:显示指定目录下的内容
语法:ls [-al] [dir]
说明:
-a :显示所有文件及目录(.开头的隐藏文件也会列出)
-l : 除文件名称外,同时将文件形态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
ls -l 的简写:ll
文件目录操作命令cd:
作用:用于切换当前工作目录,即进入指定目录
语法:cd [dirName]
说明:
~ 表示用户的home目录
. 表示目前所在的目录
.. 表示目前目录位置的上级目录
文件目录操作命令cat:
作用:用于显示文件内容
语法:cat [-n] fileName
说明:
-n :由1开始对所有输出的行数编号
文件目录操作命令more:
作用:以分页的形式显示文件内容
语法:more fileName
说明:
回车键:向下滚动一行
空格键:向下滚动一屏
b : 返回上一屏
q 或 Ctrl + C :退出more
文件目录操作命令tail:
作用:查看文件末尾的内容
语法:tail [-f] fileName
说明:
-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail /etc/profile :显示目录 /etc 目录下的profile文件末尾10行内容
tail -20 /etc/profile :显示目录 /etc 目录下的profile文件末尾20行内容
tail -f /itcast/my.loy :动态读取 /itcast 目录下的 my.log 文件末尾内容并显示
文件目录操作命令mkdir:
作用:创建目录
语法:mkdir [-p] dirName
说明:
-p : 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建。
举例:
mkdir itcast :在当前目录下,建立一个名为itcast的子目录
mkdir -p itcast/test : 在工作目录下的 itcast 目录中建立一个名为 test 的子目录,若 itcast 目录不存在,则建立一个
文件目录操作命令rmdir:
作用:删除空目录
语法:rmdir [-p] dirName
说明:
-p :当子目录被删除后使父目录为空目录的话,则一并删除父目录
举例:
rmdir itcast :删除名为 itcast 的空目录
rmdir -p itcast/test : 删除 itcast 目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir itcast* :删除名称以itcast开始的空目录
拷贝移动命令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目录下
- cp -r itcast/* ./itheima/ :将itcast目录下所有文件复制到itheima目录下
拷贝移动命令mv:
作用:为文件或目录改名,或将文件或目录移动到其他位置
语法:mv source dest
举例:
mv hello.txt hi.txt :将hello.txt改名为hi.txt
mv hi.txt itheima/ :将文件hi.txt 移动到itheima目录中
mv hi.txt itheima/hello.txt :将hi.txt移动到itheima目录中,并改名为hello.txt
mv itcast/ itheima/ :如果itheima目录不存在,将itcast目录改名为itheima
mv itcast/ itheima/ :如果itheima目录存在,将itcast目录移动到itheima目录中
打包压缩命令mv:
作用:对文件进行打包、解包、压缩、解压
语法:tar [-zcxvf] fileName [files]
包后缀名为 .tar 表示只是完成了打包,并没有压缩
包文件后缀为 .tar.gz 表示打包的同时还进行了压缩
说明:
-z:z代表的是gzip, 通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c:c代表的是create,即创建新的包文件
-x:x代表的是extract,实现从包文件中还原文件
-v:v代表的是verbose,显示命令的执行过程
-f:f代表的是file,用于指定包文件的名称
举例:
打包:
tar -cvf hello.tar ./* :将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* : 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包:
tar -xvf hello.tar :将hello.tar 文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz :将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local : 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local 目录
文本编辑命令vi:
作用:vi 命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法:vi fileName
说明:
vim 是从 vi 发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便对文件进行编辑处理,所以实际工作中vim更加常用
要使用vim命令,需要自己进行安装:yum install vim
文本编辑命令 vim:
作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName
说明:
在使用vim命令编辑时,如果指定的文件存在直接打开此文件,如果指定的文件不存在则新建文件
vim 在进行文本编辑时共分为三种模式,分别是命令模式Command mode,插入模式 insert mode,底行模式last line mode,这三种模式之间可以相互切换。
-
- 命令模式
命令模式下可以查看文件内容,移动光标(上下左右箭头、gg、G)
通过vim命令打开文件后,默认进入命令模式
另外两种模式需要首先进入命令模式,才能进入彼此
-
- 插入模式
插入模式下可以对文件内容进行编辑
在命令模式下按下 [i, a, o] 任意一个,可以进入插入模式,进入插入模式后,下方会出现【insert】字样
在插入模式下按下ESC键,回到命令模式
-
- 底行模式
底行模式下可以通过命令对文件内容进行查找,显示行号,退出等操作
在命令模式下按 [: 或 /] 任意一个,可以进入底行模式
通过 / 方式进入底行模式后,可以对文件内容进行查找
通过 : 方式进入底行模式后,可以输入wq (保存并退出)、q! (不保存退出)、 set nu(显示行号)
查找命令 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字符串的位置
安装jdk :
默认安装到根目录:解压到 /usr/local 目录下:
用 vim /etc/profile 命令 配置环境变量
将光标移动到最后: shift + g
输入i 进入插入模式,→光标定位到最后 回车 然后输入环境变量配置语句:
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
ESC进入命令模式, :wq 退出
检查 jdk 是否安装成功:
source /etc/profile 为重新加载profile文件,使更改的配置立即生效
安装Tomcat :
文件上传,默认安装到根目录
解压到 /usr/local 目录下:
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
进入Tomcat的bin目录启动服务,命令为 sh startup.sh 或者 ./startup.sh
more catalina.out 查看详细信息
tail -50 catalina.out 查看最后50行日志信息
安装mysql:
卸载已经安装的冲突软件:将mariadb移除掉:
rpm -e --nodeps 软件名称 卸载软件
将mysql安装包上传到Linux并解压
启动mysql:
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
设置开机时启动mysql服务,避免每次开机启动mysql
systemctl enable mysqld 开机启动mysql服务
netstat -tunlp 查看已经启动的服务
netstat -tunlp | grep mysql
ps -ef | grep mysql 查看mysql进程
登陆mysql数据库,查阅临时密码:
cat /var/log/mysqld.log 查看文件内容
cat /var/log/mysqld.log | grep password 查看文件内容中包含password的行信息
登陆mysql,修改密码,开放访问权限
mysql -uroot -p 登陆mysql(使用临时密码登录)
set global validate_password_length=4;
set global validate_password_policy=LOW;
set password = password('root');
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;
exit 退出数据库,然后用自己设置的密码登陆。
mysql -uroot -proot
show databases;
安装lrzsz :
Yum(yellow dog updater, modified) 是一个在Fedora 和 RedHat 以及centos中的shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载、安装。
1. 搜索lrzsz安装包,命令为:yum list lrzsz
2. 使用yum命令在线安装,命令为:yum install lrzsz.x86_64
rz 选择要上传的文件
手工部署项目:
- 在idea中开发springboot项目并打成jar包
2. 将jar包上传到Linux服务器
mkdir /usr/local/app 创建目录,将项目jar包放到此目录
3. 启动springboot程序
查看app文件夹下是否有了压缩包 有的话启动springboot程序:java -jar hellotest-0.0.1-SNAPSHOT.jar
4. 检查防火墙,确保8080端口对外开放,访问springboot项目
复制一个虚拟机窗口,开启防火墙
然后浏览器里输入IP地址,端口和路径就可以访问springboot项目
访问路径: http://192.168.59.130:8080/hello/h1
但是有问题:
线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
改为后台运行springboot程序,并将日志输出到日志文件:
nohup : no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
-
- nohup Command [Arg ...] [&]
- Command : 要执行的命令
- Arg : 一些参数,可以指定输出文件
- & : 让命令在后台运行
举例:nohup java -jar hellotest-0.0.1-SNAPSHOT.jar &> hellotest.log & 后台运行java -jar命令,并将日志输出到hellotest.log文件
停止springboot程序:
通过shell脚本自动部署项目:
操作步骤:
- 在Linux中安装Git
- 在Linux中安装maven
- 编写shell脚本(拉取代码、编译、打包、启动)
- 为用户授予执行shell脚本的权限
- 执行shell脚本
本地开发环境 push > Git仓库 pull > Linux服务器(编译、打包、启动)
将本地Java代码提交到远程仓库:
- 创建本地仓库
2. 提交
- 3. 复制远程仓库URL复制到弹出的对话框,然后commit and push
在Linux中安装Git:
yum list git 列出Git安装包
yum install git 在线安装git
使用Git克隆代码:
- cd /usr/local
- git clone URL
在Linux安装maven:
将maven安装包上传到local文件夹下,然后:
tar -zxvf apache-maven-3.5.4-bin.tar.gz
vim /etc/profile 修改配置文件,加入如下内容:
JAVA_HOME=/usr/local/jdk1.8.0_171
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
PATH=$JAVA_HOME/bin:$PATH (ESC :wq )
source /etc/profile
mvn -version
mkdir repo
cd apache-maven-3.5.4
cd conf
vim /usr/local/apache-maven-3.5.4/conf/settings.xml 修改配置文件如下:
/usr/local/repo
将shell脚本文件复制到Linux:
切换为输入模式,然后将bootStart.sh复制过去。
为用户授权:
chmod : change mode 该命令是控制用户对文件的权限的命令
Linux中的权限分为:读r 写w 执行x 三种权限
Linux文件调用权限分为三级:文件所有者Owner, 用户组Group, 其他用户 Other Users
只有文件的所有者和超级用户可以修改文件或目录的权限
要执行shell脚本需要有对此脚本文件的执行权限,如果没有则不能执行。
chmod 777 bootstart.sh 为用户授权
./bootstart.sh 执行脚本
find / -name hellotest.log 查找日志所在目录
more /usr/local/hellotest/target/hellotest.log 查看日志内容
idea中代码做了更改后,需要push到远程仓库,然后再执行以上“执行脚本”命令,即可重新执行程序
C:\Windows\System32\drivers\etc