Linux总结

1.1 Linux介绍

一位芬兰的大学生Linus,在Minix操作系统基础上,自己添加了一些补丁和插件,并将其命名为Linux操作系统,并且完全对外开源,而且开始维护Linux操作系统。

之前学习的Git也时Linus研发的。

1.2 Linux的版本

Linux的版本分为两种,一种是Linus团队正在维护的开源内核版本。另一种是一些厂商基于内核版本封装的发行版本。

  • Linux的内核版本官网:https://www.kernel.org/

  • Linux的发行版本,目前需要学习的

1.3 Linux和Windows区别
  • Linux是严格区分大小写的,Windows不区分。
  • Linux中一切皆是文件。
  • Linux中文件是没有后缀的,但是他有一些约定俗成的后缀。
  • Windows下的软件一般是无法直接运行的Linux中。

Ps:我们在学习Linux时,参考Windows下做了什么,就在Linux中做什么

二、Linux环境安装


  • 安装Linux,我们需要一个虚拟机,为了安装虚拟环境:VMware或者Virtual Box(采用VMware)

  • 安装Linux,我们需要一个Linux的镜像文件:CentOS7版本

  • 安装一个连接Linux的图形化界面:Xterm,SSH,XShell,scureCRT(XShell)

  • 安装一个Linux文件上传工具:Xftp

2.1 安装VMware

参考VMware下载与安装文档

2.2 安装CentOS

参考CentOS下载与安装文档

2.3 安装XShell

下一步下一步安装--->创建连接

2.4 安装 Xftp

下一步下一步安装--->创建连接

三、云主机

3.1 租赁服务器

租赁阿里云服务器:https://www.aliyun.com/

3.2 服务器配置
重置实例密码
在这里插入图片描述
安全组配置
在这里插入图片描述
3.1 连接阿里云服务器
使用Xshell连接远程服务器
在这里插入图片描述

四、Linux的目录结构


Windows的目录结构是带有盘符的。 C:D: E:,而Linux中是没有盘符的

在Xshell中输入ls / 查看Linux的顶级目录。

ls /
在这里插入图片描述

Linux的常用目录

Linux目录树状图
在这里插入图片描述
  • root:该目录为系统管理员HOME目录
  • bin:这个目录下放着经常使用的命令
  • boot:这里存放的是启动Linux时的一些核心文件
  • etc:存放系统管理所需要的配置文件和子目录
  • home:普通用户的HOME目录
  • usr:默认安装软件的目录,类似Windows中的Program Files目录
  • opt:是主机额外安装软件拜访的目录

五、Linux的基本命令


Linux中命令的基本格式:命令 【选项】 【参数】

需要注意,个别命令是不遵循这个格式

当命令中有多个选项时,可以写在一起的,并且选项也是由简写方式的 命令 -选项A选项B

Linux的基本操作命令,不遵循上述格式,但是后期会经常使用……

# 1. 我是谁
who am i

# 2. 我在哪
pwd

# 3. 查看ip 地址
ifconfig

# 4. 清屏
clear

# 5. ping域名|ip
ping 地址

# 6. 强制停止
Ctrl + C

# 7.重启
reboot

六、Linux目录命令【重点

6.1 列出目录

查看指定目录下的内容,默认查看当前目录下内容

Linux中的隐藏文件是以.开头的,当前目录使用.表示,上一级目录使用…表示

ls [-ald] [目录名]
# 目录名不填写,默认为当前目录。
# -a:列出的全部的文件,包括隐藏文件
# -l:列举出全部的信息
# -d:仅查看目录本身
6.2 切换目录

实现目录间切换,使用绝对路径、相对路径、特殊符号

cd 具体路径 | 特殊符号
特殊符号表达的路径
.当前目录
上一级目录
/根目录
~当前登录用户的HOME目录
-返回
6.3 创建目录

创建目录,以及创建多级目录方式

mkdir [-p] 目录名
# -p:代表创建多级目录时,使用
6.4 删除目录

删除非空目录或包含内容的目录

# 只能删除空目录
rmdir 目录名

# 删除非空目录
rm [-rf] 目录名
# -r:代表递归删除目录下的全部内容
# -f:不询问,直接删除
6.5 复制目录

复制目录下的全部内容

cp -r 来源目录 目标目录
# -r:递归复制全部内容,必填项
6.6 移动、重命名目录

移动、重命名目录,会根据第二个参数指定具体操作逻辑

mv 目录名 新目录名 | 路径
# 如果第二个参数指定的路径不存在,就是重命名,如果第二个参数的路径存在,就是移动

七、Linux的文件命令【重点


7.1 创建文件

创建空文件

# 创建文件
touch 文件名

# 同时创建多个文件
touch 文件名1  文件名2  文件名3...
7.2 编辑文件

编辑文件,后期最常的命令之一

vim 是vi的加强版。如果没有vim命令 可以进行yum安装:yum install vim -y

vi|vim 文件名 		    # 查看文件。(查看模式)

i | a | o   		  # 进入编辑模式。(编辑模式)
                      # i:在当前光标处,进入编辑模式。 
                      # a:在当前光标后一格,进入编辑模式。 
                      # o:在当前光标下一行,进入编辑模式。
                      
esc				      # 退出编辑模式,回到查看模式。

:				      # 从查看模式进入到底行命令模式。(底行命名模式)
                      # 在底行命令模式下,输入wq:保存并退出。输入q!:不保存并退出
                      # 在查看模式下,ZZ,可以快速保存并退出。
7.3 编辑文件时,其他操作

编辑文件时,常用的快捷键,方便操作

# 在vi文件时,在【底行命令模式】下可以输入以下常用内容
# 行号操作
set nu              # 查看文件的行号
to 20               # 快速的跳转到指定行
set nonu            # 取消行号
# 搜索操作
/搜索内容               # 类似Windows的Ctrl + F搜索文件中的具体内容所在位置,查看下一个可以输入字母n
# 快速定位  在【查看模式】下使用
G                   # 快速跳转到最后一行
gg                  # 快速跳转到第一行
7.4 查看文件

根据不同的业务,可以选择不同的查看方式

# 查看文件,直接展示到最后一行[适合查看短文件]
cat 文件名

# 显示文件的用时,展示行号
more 文件名
# 查看大文件时,可以一页一页的向下翻(不支持向上翻页)
# space向下翻页,q表示退出

less 文件名
# 查看大文件时,可以任意的向上或者向下翻
# 向上或向下翻页摁PageUp和PageDown,一行一行查看,光标的↑↓

# 只查看前几行
head 文件名

# 只查看后几行 默认后10行
tail 文件名

# 查看指定后N行数据
tail --lines=20 文件名

# 查看日志文件    -f:表示循环输出
tail -f 文件名
7.5 查看并编辑文件插件
Notepad++安装插件
在这里插入图片描述
点击“插件”->“NppFTP”->“Show NppFTP Window”
在这里插入图片描述
7.6 移动、重命名文件

移动、重命名目录,会根据第二个参数指定具体操作逻辑

mv 文件名 新文件名 | 路径
# 如果第二个参数指定的路径不存在,就是重命名,如果第二个参数的路径存在,就是移动
7.6 复制文件

复制文件到指定目录下

cp 文件名 目录
7.7 删除文件

删除文件方式

rm [-f] 文件名
# -f:是否询问

八、Linux的压缩包命令【重点

8.1 针对tar命令

Linux中常用的压缩包,大多是.tar,.tar.gz,tgz的

8.1.1 解压压缩包

针对压缩包后缀的情况,采用不同的参数,否则可能会损失文件

tar [-zxvf] 压缩包名称 [-C 路径]
# -z: 代表压缩包后缀是.gz的
# -x: 代表解压
# -v: 解压时,打印详细信息
# -f: -f选项必须放在所有选项的最后,代表指定文件名称
# -C 路径: 代表将压缩包内容解压到指定路径
8.1.2 打包成压缩包

可以将多个文件以及目录打包成压缩包,根据选择的参数指定压缩包名

tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ...
# -c: 代表打包
# 其他参数同上
8.2 针对zip类型压缩包

Linux不仅仅针对tar类型的压缩包,也支持zip,rar这种Windows下的压缩包。

不过需要安装软件针对对各种类型压缩包的操作

8.2.1 安装软件
yum -y install zip     # 打包程序
yum -y install unzip   # 解压程序
8.2.2 解压以及打包
# 解压
unzip 压缩包名称

# 打包
zip 压缩包名称 文件1 文件2 目录1 目录2 ...

九、用户&用户组的操作


9.1 用户组的操作

用户的身份除了用户本身,还会分配到指定的用户组,可以通过用户组对设置一些文件的操作权限

9.1.1 创建用户组
groupadd 用户组名
# 创建用户组
9.1.2 修改用户组
groupmod [-n] [选项指定的具体内容] 用户组名
# -n 修改用户组名称
9.1.3 删除用户组
groupdel 用户组名
# 只能删除不存在用户的用户组
9.1.4 查看所有用户组
cat /etc/group
# 查看所有用户组
9.1.5 查看当前用户属组
groups
# 查看当前用户属组
9.2 用户的常用操作命令

Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,并且以这个账号的身份去操作Linux。

用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。

9.2.1 用户的创建

创建用户默认会在/home中创建一个用户目录

useradd [-cgd] [选项指定的具体内容] 用户名
# -c:代表comment,给用户添加一段注释
# -g:代表group,可以修改用户的所在组
# -d:代表指定用户的HOME目录

# 查看用户
id 用户名 
9.2.2 设置用户密码
passwd 用户名
9.2.3 切换用户
su 用户名
# [root@localhost ~]#       -> root用户在本地登录,并且当前在~目录下,#代表是超级管理员
# [rose@localhost ~]$		-> rose用户在本地登录,并且当前在~目录下,$代表是普通用户

普通用户切换到root用户,需要root的密码

9.1.4 删除用户
userdel [-r] 用户名
# -r: 代表删除用户的同时,删除该用户的HOME目录
9.1.5 查看所有用户
cat /etc/passwd
#  查看所有用户
9.1.6 查看当用户
who am i 
# 查看当用户

十、文件权限的修改【重点


首先我们要清楚Linux文件的权限信息

在Linux中输入ls -l 或者 ll查看文件和目录的详细信息

文件详情
在这里插入图片描述

第一个字母:d:表示是一个文件夹。-表示是一个文件

在Linux文件详情的后面属性需要分为三组查看

  • rwx: 代表文件拥有者的权限
  • rwx: 代表文件所属组用户的权限
  • rwx: 代表其他用户对当前文件的操作权限
    • r: 代表read,读的权限
    • w: 代表write,写的权限
    • x: 代表execute,代表执行权限

其余信息

  • 后续的第一个root:代表当前文件的拥有者

  • 后续的第二个root: 代表当前文件的所属组

  • 后续分别为:文件的大小和最后修改时间等信息

10.1 对文件的权限修改

针对root用户而言,默认是拥有最高权限,一般是对其他用户进行权限管理

使用chmod对文件的权限进行修改,一种使用数字,一种使用符号……

  • 数字方式方便操作,不过要修改整体权限信息
  • 符号方式更细粒度华,不过操作麻烦
10.1.1 数字方式
chmod [-R] 777 文件|目录
# rwx在这三个权限中r:4,w:2,x:1
# -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。
10.1.2 符号方式
chmod [-R] a=rw 文件|目录

chmod [-R] a-w 文件|目录
# user:u,group:g,other:o,all:a
# read:r,write:w,execute:x
# 赋予权限的方式 , 添加:+,减掉:-,设定:=
# -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。

十一、Linux的其他操作命令【重点

11.1 进程的操作

需要用到类似Windows的结束进程时,在Linux下需要使用如下命令

ps -ef 
# 查看全部正在运行的进程
ps -ef | grep 搜索的内容
# 杀死进程
kill -9 pid
11.2 服务的操作

和Windows下的服务操作一致,只需使用如下命令,默认为centos7版本

# 针对服务的启动,停止,重启,开机自动启动,禁止开机自动启动,查看服务状态。
systemctl start|stop|restart|enable|disable|status 服务名称
11.3 端口号查看

如发现端口号被占用,可以使用如下方式查找pid,并结束进程

# 想使用指定的命令需要事先下载netstat
yum -y install net-tools
# 查看端口号占用情况
netstat -naop | grep 端口号

# 如果此指令不可以用,则需要通过 yum install -y lsof安装指令 CentOS6  Ubuntu没有此指令
# 通过端口查询进程信息  
lsof -i:端口号
11.4 查找文件

在Linux中查找指定文件,参数较多,如下为根据文件名称查询

find 路径 -type f | grep 文件名称
11.5 软件管理相关的指令

linux下安装软件有两种方式:

  • 离线安装:将软件下载好,然后上传到linux上
  • 在线安装:通过wget命令直接下载
11.5.1 wget指令(在线下载)

wget是Linux系统中一个下载文件的工具,Linux系统自带

# 下载mysql安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
11.5.2 rpm指令 (本地安装)

RPM(Red-Hat Package Manager) 是一款Linux系统的软件包的管理器,可以完成Linux系统中应用的安装、卸载

  • 查询:rpm -qa | grep 关键字

  • 卸载:rpm -e --nodeps 软件名称

  • 安装:rpm -ivh 安装包.rpm

    • mysql安装: rpm -ivh mysql57-community-release-el7-10.noarch.rpm
  • 更新:rpm -Uvh 安装包.rpm

# 安装rpm包
rpm -ivh mysql57-community-release-el7-10.noarch.rpm

# 卸载rpm包
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
11.5.3 yum指令(在线安装)

yum(全称:Yellow Dog Updater,Modified),基于RPM包管理,能够从指定的服务器自动下载rpm并安装

# 查看所有可安装的软件清单
yum list

# 查找指定的rpm包
yum search rpm包名

# 下载并安装指定rpm包
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

十二、Linux下安装软件【重点


12.1 安装JDK

在Linux下安装JDK,并配置JAVA_HOME环境变量……

12.1.1 下载JDK的压缩包

下载linux版本的jdk安装包

https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

12.1.2 将jdk压缩包拉取到Linux系统中

将jdk上传到Linux操作系统中

12.1.3 将jdk的压缩包解压

将软件解压到/usr/local下,直接使用tar解压

[root@yydwei local]# tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr/local
12.1.4 将jdk的目录名修改一下

为了方便配置环境变量,修改一下目录名称

[root@yydwei local]# cd /usr/local
[root@yydwei local]# mv jdk1.8.0_261/ jdk
12.1.5 配置环境变量

Linux提供了两种环境变量的文件

  • 第一个是用户级别的环境变量,存放在:~/.bashrc
  • 第二个是系统级别的环境变量,存放在:/etc/profile

修改哪个文件都可以

# 打开profile配置文件
vim /etc/profile

# 在环境变量文件中,添加如下内容
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH

# 重新加载环境变量文件
source /etc/profile

# 最终测试
java -version
测试效果
在这里插入图片描述
12.2 安装MySQL

在MySQL下用yum的方式安装MySQL

12.2.1 安装MySQL的rpm包

使用wget下载MySQL的rpm包

# 如果无法使用wget命令,则通过yum下载wget命令
yum -y install wget
# 通过wget下载MySQL存储库
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
12.2.2 安装下载好的rpm包

使用rpm包的命令直接安装

# 安装rpm包
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
12.2.3 安装MySQL社区版服务

开始安装,这一步需要下载一段时间,下载失败就是网络较差了

yum -y install mysql-community-server
安装成功
在这里插入图片描述

安装错误:Failing package is: mysql-community-client-5.7.39-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

错误原因:MySQL GPG 密钥已过期导致

问题解决:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

12.2.4 设置为开机启动
systemctl enable mysqld
12.2.5 启动MySQL服务
systemctl start mysqld
12.2.6 连接mysql并修改密码
# 1.查看初始密码
cat /var/log/mysqld.log | grep password

# 2.连接到mysql (注意:有时候密码最后一位是;那也是一个字符,别复制掉了!!!)
mysql -uroot -p你看到的密码

# 3.设置密码的检查机制为LOW 
set global validate_password_policy=LOW;

# 4.修改mysql密码
set password=password('yydwei123');
12.2.7 开启远程连接

默认MySQL禁止远程链接,需要单独创建一个用户开启远程链接,这样就可以在windows下使用图形化工具连接

#设置权限
GRANT ALL PRIVILEGES on *.* to 'root'@'%' IDENTIFIED by 'yydwei123' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;

使用Navicat工具连接MySQL

12.2.8 关闭防火墙

使用虚拟机安装mysql需要关闭linux防火墙,然后重启才能远程连接

云主机在无需设置,之前配置安全组已经设置过了

#1:查看防火状态
systemctl status firewalld

#暂时关闭防火墙
systemctl stop firewalld

#2:永久关闭防火墙
systemctl disable firewalld 

#重新开启防火墙
systemctl enable firewalld

#3:重启系统
reboot
12.3 安装Tomcat

在Linux下安装Tomcat,以便部署工程到Linux操作系统

12.3.1 下载Tomcat的压缩包

https://tomcat.apache.org/download-90.cgi

12.3.2 解压压缩包

一样解压到/usr/local目录下

# 解压压缩包
tar -zxvf apache-tomcat-9.0.52.tar.gz -C /usr/local/
# 进入/usr/local目录
cd /usr/local/
# 重命名
mv apache-tomcat-9.0.52 tomcat
12.3.3 启动Tomcat并监听日志

启动Tomcat,并使用tail监控日志信息

# 跳转到tomcat的bin目录
cd /usr/local/tomcat/bin
# 启动
./startup.sh

# 监控日志
tail -f ../logs/catalina.out

# 停止tomcat
./shutdown.sh
日志及Tomcat首页
启动tomcat
在这里插入图片描述
查看tomcat日志信息
在这里插入图片描述
停止tomcat
在这里插入图片描述

十三、部署项目到Linux


13.1 将项目打包

如果是SSM项目则打包成war文件

如果是SpringBoot项目则打包成jar文件

13.2 部署SSM项目

将war包放到tomcat目录下的webapps目录下,然后重启tomcat即可访问

访问地址:http://ip:8080/xxxxx

13.3 部署SpringBoot项目

将jar包放到任意目录

#启动项目
java -jar jar包名称

#后台启动 nohup:表示不挂断运行  >log:表示将日志输出在log文件中   &表示后台运行 
nohup java -jar  jar包名称 >log &
  • 22
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是二次元穿越来的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值