linux
1|0目录介绍
编号 | 目录 | 含义 |
---|---|---|
1 | /bin | 存放二进制可执行文件 |
2 | /boot | 存放系统引导时使用的各种文件 |
3 | /dev | 存放设备文件 |
4 | /etc | 存放系统配置文件, 比如:安装完毕jdk,安装maven、配置环境变量 |
5 | /home | 用户的主目录,存放用户的个人资料的。比如:linux是一个多用户的操作系统,创建了zhangsan用户,那么在home目录里面有zhangsan文件夹。 linux中有几个普通用户 那么在这个文件夹中 就会有几个和用户名同名的文件夹 |
6 | /lib | 存放程序运行所需的共享库和内核模块 |
7 | /opt | 额外安装的可选应用程序包所放置的位置 |
8 | /root | 超级管理员的主目录 |
9 | /sbin | 存放二进制可执行文件,只有root用户才能访问 |
10 | /tmp | 存放临时文件 |
11 | /usr | 安装软件的默认目录 |
12 | /var | 存放运行时需要改变数据的文件,例如日志文件 |
2|0Linux常用命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
1 | ls [目录名] | list | 查看当前目录下的内容 |
2 | pwd | print work directory | 查看当前所在目录 |
3 | cd [目录名] | change directory | 切换目录 |
4 | touch [文件名] | touch | 如果文件不存在,创建文件 |
5 | mkdir [目录名] | make directory | 创建目录 |
6 | rm [文件名] | remove | 删除指定文件 |
3|0ls
4|0cd
5|0cat
6|0more
7|0tail
8|0mkdir
9|0rmdir
10|0rm
11|0cp
12|0mv
13|0打包压缩命令
14|0文本编辑命令
14|1vi&vim介绍
作用: 对文件内容进行编辑,vim其实就是一个文本编辑器
语法: vim fileName
说明:
1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。
三种模式:
- 命令模式(不可编辑内容)
A. 命令模式下可以查看文件内容、搜索文本内容.
命令模式指令 | 含义 |
---|---|
gg | 定位到文本内容的第一行 |
G | 定位到文本内容的最后一行 |
dd | 删除光标所在行的数据 |
ndd | 删除当前光标所在行及之后的n行数据 |
u | 撤销操作 |
shift+zz | 保存并退出 |
i 或 a 或 o | 进入插入模式 |
-
插入模式
A. 插入模式下可以对文件内容进行编辑
B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
C. 在插入模式下按下ESC键,回到命令模式 -
底行模式
- 按下esc回到命令模式
- 在命令模式的基础上按下 shift+:
- 按下保存退出: :wq(保存退出) :q!(强制退出不保存)
底行模式命令 含义 :wq 保存并退出 :q! 不保存退出 :set nu 显示行号 :set nonu 取消行号显示 :n 定位到第n行, 如 :10 就是定位到第10行
15|0查找命令
15|1find
15|2grep
15|3查看系统的进程命令
杀死进程
15|4管道命令(|)
作用: 上一个命令的结果提供给下一个命令去使用。
例子:杀死vim进程
16|0Linux 的权限命令
16|1用户和组管理
16|2文件权限
17|0防火墙配置
linux默认防火墙是开启,而且所有的端口对外都是不可访问的。这么做的目的:安全。 问题:比如我等会在linux上安装tomcat的软件的。 tomcat软件需要使用8080端口。但是由于端口对外都是不可访问的,所以windows没法访问linux的tomcat。
解决上述问题的方案有两种:
- 直接关闭防火墙,释放所有的端口,允许外界去访问全部的端口 , 方便省心,弊端不安全(开发阶段)
- 只开放8080端口。开放指定的端口 (生产阶段,项目上线)
语法格式
防火墙服务
命令 | 作用 |
---|---|
systemctl start firewalld | 开启 |
systemctl stop firewalld | 关闭 |
systemctl enable firewalld | 开机自启动(默认状态) |
systemctl disable firewalld | 关闭开机自启 |
systemctl status firewalld | 查看当前防火墙状态 |
操作演示
- 确认当前是管理员的账户,查看防火墙当前的状态
- 关闭防火墙,再查看防火墙的状态
- 再次开启防火墙,查看防火墙的状态
执行结果
<font color="red">
firewall-cmd</font>
外网或内网需要连接到当前系统内的程序进行操作,需要linux系统开放程序端口,否则无法访问。
步骤
- 永久开放443端口,添加到公开区域,允许外部连接
- 重新加载防火墙的规则
- 显示所有打开的端口号
- 从公共区域中,永久移除443端口,不允许外部连接
- 重新加载防火墙规则
- 显示打开的端口号
效果
小结
说说下面代码的作用
-
关闭、开启防火墙、设置自启、关闭自启服务命令?
systemctl stop|start|enable|disable firewalld
-
开放(添加)指定端口命令
firewall-cmd --add-port=端口/tcp --zone=public --permanent
刷新查看新添加的端口号
firewall-cmd --reload
查看防火墙开放了哪些端口号
firewall-cmd --list-all
-
删除开放端口命令:
firewall-cmd --remove-port=端口/tcp --zone=public --permanent
-
重新加载,展示列表
firewall-cmd --list-all
18|0软件安装
软件安装方式
在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:
安装方式 | 特点 |
---|---|
二进制发布包安装 | 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 , tomcat\jdk |
rpm安装( 软件管家) | 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题 |
yum安装 | 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网) |
源码编译安装 | 软件以源码工程的形式发布,需要自己编译打包 , redis |
安装JDK
上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK对应的二进制发布包,在课程资料中已经提供,如下:
JDK具体安装步骤如下:
1). 上传安装包
目标
在Linux下安装JDK
JDK安装步骤
-
在/下创建soft目录,将提供的"软件"复制到Linux的soft目录下
-
进入“/soft”目录,解压jdk到指定目录/usr/local下
-
查看解压后的目录,目录中有jdk1.8.0_221为jdk解压的目录
-
编辑/etc/profile文件
-
配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去,注:放在文件的最后面。
export命令用于将shell变量输出为环境变量
命令1:vim /etc/profile
命令2:在文件末尾处,输入o(表示在光标下插入新行),复制上面的环境变量配置粘贴,并写入保存
- 重新加载/etc/profile配置文件
- 判断JDK是否安装成功
JDK安装小结java
- 解压到压缩包到:/usr/local
- 配置环境变量: /etc/profile
- JAVA_HOME
- PATH
- 重新加载配置: source
安装Tomcat
Tomcat安装
目标
在Linux上安装Tomcat
安装Tomcat的步骤
- 进入soft文件夹,解压Tomcat到/usr/local下
- 开放Linux的对外访问的端口8080
- 重启防火墙
- 进入/usr/local/apache-tomcat-8.5.51/bin目录,启动Tomcat
- 在Windows下打开浏览器访问Linux的8080端口
- 进入bin目录下,关闭服务器。关闭服务器以后,浏览器不能再访问。
停止Tomcat
在Linux系统中,停止Tomcat服务的方式主要有两种:
1). 运行Tomcat提供的脚本文件
在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。
我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:
2). 结束Tomcat进程
我们可以先通过 ps -ef|grep tomcat
指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。
通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :
执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。
注意:
注意 :
小结
安装MySQL
MySQL安装
对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。那么首先我们先了解一下什么rpm?
RPM:全称为 Red-Hat Package Manager,RPM软件包管理器(相当于windows的软件管家),是红帽Linux用于管理和安装软件的工具。
我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:
1). 检测当前系统是否安装过MySQL相关数据库
需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:
通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。
通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。
2). 卸载现有的MySQL数据库
在rpm中,卸载软件的语法为:
那么,我们就可以通过指令,卸载 mariadb,具体指令为:
我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。
3). 将资料中提供的MySQL安装包上传到Linux并解压
A. 上传MySQL安装包
在课程资料中,提供的有MySQL的安装包 ,我们需要将该安装包上传到Linux系统的根目录 / 下面。
B. 解压到/usr/local/mysql
执行如下指令:
4). 安装顺序安装rpm安装包
说明:
- 因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
- 安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
- 可以通过指令(yum update)升级现有软件及系统内核
MySQL启动
MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。
说明:
我们可以通过如下方式,来判定mysql是否启动:
MySQL登录
查阅临时密码
MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。
可以执行如下指令:
1). cat /var/log/mysqld.log
这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。
2). cat /var/log/mysqld.log | grep password
我们可以通过上述指令,查询日志文件内容中包含password的行信息。
登录MySQL
获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。
执行如下指令:
操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。
注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:
当然我们也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。
小结
安装mysql的步骤小结:
18|1项目部署
之前我们讲解Linux操作系统时,就提到,我们服务端开发工程师学习Linux系统的目的就是将来我们开发的项目绝大部分情况下都需要部署在Linux系统中。那么在本章节,我们将通过两种方式,来演示项目部署,分别是:手动部署项目 和 基于shell脚本自动部署。
手动部署项目
**1). 在IDEA中将web项目打包
打包war包前需要将连接mysql的IP地址 改成虚拟机的Ip地址
- 前端页面和mysql数据库准备好
3)在docker中安装好mysql
docker run -id -p 3307:3306 --name=mysql01 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
将我们的sql脚本在安装好的mysql中执行
1.docker cp goods.sql mysql容器id:/
2.docker exec -it mysql容器编号 /bin/bash
3.mysql -uroot -p123456
4.use ssm_car; 看看有没有库
5.source goods.sql; 执行脚本
查看是否成功 show tables;
就可以了
4)在docker中安装好tomcat 将打包好的war包发送到tomcat 的 webapps
docker run --privileged=true -id -p 8080:8080 -v $PWD/website:/usr/local/tomcat/webapps --name=tomcat01 tomcat
5)在docker中安装好Nginx 将静态资源存到nginx的/usr/share/nginx/html
docker run -id --name=nginx003 -p 8088:80 -v $PWD/nginx/html:/usr/share/nginx/html $PWD/nginx/conf:/etc/nginx/conf
$PWD/nginx/logs:/var/log/nginx
nginx
前端页面中的内容见附件
__EOF__
作 者:YXH
出 处:https://www.cnblogs.com/YxinHaaa/p/17622986.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库