Linux

以下笔记借鉴于黑马Linux视频,记录为个人学习笔记参考。

Linux的安装配置

Linux常用命令

常用命令

命令英文作用
lslist查看当前目录下的内容
pwdprint work directory查看当前所在目录
cd [目录名]change directory切换目录
touch [文件名]touch如果文件不存在新建文件
mkdirmake directory创建目录
rmremove删除指定文件

Linux命令格式

command [-options] [parameter]

说明
command:命令名

[-options]:选项,可用来对命令进行控制,也可以省略

[parameter]:传给命令的参数,可以是零个、一个或者多个

[xxx]:可选项

文件目录操作命令

ls

作用:显示指定目录下的内容
语法

ls [-a]/[-l] [目录名]
#举例
ls -a
ls -l
ls -a -l
ls -a -l /etc

说明:-a显示所有文件及目录(.开头的隐藏文件也会列出)
-l(除文件名称外,同时将文件型态(d表示目录,-表示文件)、权 限、拥有者、文件大小等信息详细列出【 ls -l 等同于 ll】

举例
在这里插入图片描述

在这里插入图片描述

cd

作用:用于切换当前工作目录,即进入指定目录
语法

cd [目录名]

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

说明

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

cat

作用:用于显示文件内容
语法

cat [-n] 文件名

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

说明
-n:显示行数

more

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

more 文件名

说明

  • 回车键:向下滚动一行
  • 空格键:向下滚动一屏
  • b:返回上一屏
  • q或者Ctrl+C:退出more

tail

作用:查看文件末尾的内容
语法

tail [-f] 文件名

#举例
tail /etc/profile
#显示/etc目录下的profile文件末尾10行的内容
tail-20 /etc/profile
#显示/etc目录下的profile文件末尾20行的内容
tail-f /itcast/my.log
#动态读取/itcast目录下的my.log文件末尾内容并显示

说明
-f:动态读取文件末尾内容并显示,如果该文件有新内容追加自动显示,通常用于日志文件的内容输出

mkdir

作用: 创建目录
语法

mkdir [-p] 目录名

#举例
mkdir a  
#在当前目录下,建立一个名为a的子目录
mkdir -p a/b 
#在工作目录下的a目录中建立一个名为b的子目录,若a目录不存在,则建立一个

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

rmdir

作用:删除空目录
语法

rmdir [-p] 目录名

#举例
rmdir itcast
#删除名为itcast的空目录
rmdir -p itcast/test
#删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除 
rmdir itcast*
#删除名称以itcast开始的空目录

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

rm

作用:删除文件或者目录
语法

rm [-rf] 文件或目录名

#举例
rm -r itcast/ 
#删除名为itcast的目录和目录中所有文件,删除前需确认 
rm -rf itcast/
#无需确认,直接删除名为itcast的目录和目录中所有文件 
rm -f hello.txt
#无需确认,直接删除hello.txt文件

说明

  • -r:将目录及目录中所有文件(目录)逐一删除,即递归删除
  • -f:无需确认,直接删除

拷贝移动常用命令

cp

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

cp [-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目录下所有文件复制到litheima目录下

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

mv

作用:为文件或目录改名、或将文件或目录移动到其它位置
语法

mv 原文件名 新文件名

#举例
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目录中

打包压缩命令

tar

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

tar [-zcxvf] 文件名 [files]
#举例
#打包
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
将nello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz-C/usr/local
将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

说明

  • -z:z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -c:c代表的是create,即创建新的包文件
  • -x:x代表的是extract,实现从包文件中还原文件
  • -v:v代表的是verbose,显示命令的执行过程
  • -f:f代表的是file,用于指定包文件的名称
  • 包文件后缀为.tar表示只是完成了打包,并没有压缩
  • 包文件后缀为.tar.gz表示打包的同时还进行了压缩

文本编辑命令

vim

yum install vim #首先安装vim

作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法

vim 文件名

说明

  • 在使用ⅵ命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
  • vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode) 和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是 哪种模式。
vim命令模式
  • 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
  • 通过vim命令打开文件后,默认进入命令模式
  • 另外两种模式需要首先进入命令模式,才能进入彼此
vim插入模式
  • 插入模式下可以对文件内容进行编辑
  • 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
  • 在插入模式下按下ESC键,回到命令模式
vim底行模式
  • 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
  • 在命令模式下按下[: /]任意一个,可以进入底行模式
  • 通过/方式进入底行模式后,可以对文件内容进行查找
  • 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、setu(显示行号)

查找命令

find

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

find 目录名-name(name根据文件名称) 文件名

#举例
find . -name "*.java"
#在当前目录及其子目录下查找。java结尾文件
find /itcast -name "*.java"
#在/itcast目录及其子目录下查找。java结尾的文件

grep

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

grep 文本内容 文件名

#举例
grep Hello HelloWorld.java
#查找HelloWorld.java文件中出现的Helo字符串的位置
grep hello *.java
#查找当前目录中所有.java结尾的文件中包含hello字符串的位置

软件安装

JDK安装

官网地址:JDK

查看并卸载Linux自带JDK
首先连接上你的linux服务器,输入java -version命令,查看当前服务器的jdk安装情况;

#查看版本
java -version
#查询本地安装的JDK
rpm -qa | grep jdk
#卸载 JDK
rpm -e --nodeps  xxx.x86_64

将文件导入liunx(mac为例)

  • 打开终端,选择新建远程连接
  • 选择安全文件传输sftp
  • 输入主机名root和sftp root@IP地址
  • 在终端输入put + 本地文件路径 + 远程主机路径(/usr/local)
#解压jdk到目录
tar -zxvf jdk-8u60-linux-x64.tar.gz -C /usr/local
#编辑配置文件
vim /etc/profile

#配置环境变量
#用vim编辑器来编辑profile文件,在文件末尾添加一下内容
export JAVA_HOME=/usr/local/jdk1.8.0_341
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#执行命令
source /etc/profile

#查看安装情况
java -version

tomcat安装

官网地址tomcat

将文件导入liunx(mac为例)

  • 打开终端,选择新建远程连接
  • 选择安全文件传输sftp
  • 输入主机名root和sftp root@IP地址
  • 在终端输入put + 本地文件路径 + 远程主机路径
#解压jdk到目录
tar -xvf jdk-8u60-linux-x64.tar -C /usr/local

#创建完软连接后可以直接使用startup.sh和shutdown.sh开启关闭Tomcat
ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin

#验证是否启动成功
#方法一查找启动日志
cat /usr/local/tomcat/logs/catalina.out 
#方式二查看进程
ps -ef|grep tomcat

防火墙操作

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

注意

  • systemctl是管理Liux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
  • firewall-cmd是Linux中专门用于控制防火墙的命令
  • 为了保证系统安全,服务器的防火墙不建议关闭

Mysql安装

rpm -qa
#查询当前系统中安装的所有软件
rpm -qa| grep mysql
#查询当前系统中安装的名称带ysql的软件
rpm -qa| grep mariadb
#查询当前系统中安装的名称带mariadb的软件
rpm -e --nodeps 软件名称
#卸载软件

官网地址mysql

教程教程地址

#新建mysql文件夹
mkdir /usr/local/mysql
#解压
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/
#在安装执行 rpm 安装包之前先下载 openssl-devel 插件,因为 mysql 里面有些 rpm 的安装依赖于该插件。
yum install openssl-devel
#依次安装rpm
rpm -ivh mysql-community-common-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-libs-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-libs-compat-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-devel-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-client-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.aarch64.rpm 
rpm -ivh mysql-community-server-8.0.30-1.el7.aarch64.rpm 

#查询mysql服务状态
systemctl status mysqld

#启动 MySQL 服务:
systemctl start mysqld

#开机启动mysql服务
systemctl enable mysqld

#重启 MySQL 服务:
systemctl restart mysqld

#关闭 MySQL 服务:
systemctl stop mysqld

#登陆mysql
mysql -uroot -p

#查看默认密码
cat /var/log/mysqld.log

#修改密码
alter user 'root'@'localhost' identified by '12345678';

#官网文档搜 validate_password 密码校验策略
# 将密码复杂度校验调整简单类型
set global validate_password.policy = 0;
# 设置密码最少位数限制为 4  位
set global validate_password.length = 4;


#默认的 root 用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个新的账户,用于远程访问
CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';
#无法连接关闭防火墙或放行端口

lrzsz安装

lrzsz是一款在linux里可代替ftp上传和下载的程序。

#查看安装包
yum list lrzsz
#下载
yum install lrzsz

项目部署

手工部署

将项目打包双击package

在这里插入图片描述

将jar包上传到Linux服务器

#新建目录
mkdir /usr/local/app

#上传文件
put [jar包名] /usr/local/app

#运行
java -jar [jar包名]

后台运行

#nohup 命令:
英文全称no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行 
#语法格式: 
nohup Command [Arg][&] 
#参数说明:
Command:要执行的命令
Arg:一些参数,可以指定输出文件 &:让命令在后台运行 
#举例:
nohup java-jar [jar包名] &>hello.log  &
后台运行java -jart命令,并将日志输出到helo.log文件

#查询进程并kill进程
ps -ef | grep java
kill -9 进程号

自动部署

步骤

  • 在Linux中安装Git
  • 在Linux中安装maven
  • 编写Shel脚本(拉取代码、编译、打包、启动)
  • 为用户授予执行Shell脚本的权限
  • 执行Shell脚本

在linux安装git

git提交

详细教程

yum install git

cd /usr/local
#将Git代码克隆到linux
git clone https://gitee.com/rxtiger/hellowrod.git

安装maven

put apache-maven-3.6.3-bin.tar
tar -xvf apache-maven-3.6.3-bin.tar -C /usr/local/
#配置环境变量
vim /etc/profile
#写入文件
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
#更新
source /etc/profile
#创建本地仓库在local里
mkdir repo
#修改配置文件
<localRepository>/usr/local/repo</localRepository>

运行shell文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值