博客系统笔记总结 2( Linux 相关)
Linux 基本使用和程序部署

基本命令
文件操作
显示当前目录下的文件
ls:显示当前目录下的文件
ll:以列表的形式展示,包括隐藏文件
进入目录 && 显示当前路径
cd:进入目录(后面跟相对路径或者绝对路径)
./ 表示当前目录 …/ 表示上级目录
pwd : 显示当前路径

创建文件夹 && 创建文件
mkdir : 创建文件夹(后面跟文件名)
mkdir -p : 创建多级目录

touch : 创建文件(后面跟文件名)
上传 && 下载
rz : 上传文件
sz : 下载(后面跟文件名)

上传文件 也可以将 要上传的文件 直接拖到终端里。
查看文件内容
cat : 查看文件(后面跟文件名)直接打开全文。退出后文件内容仍显示在屏幕上。
more : 查看文件(后面跟文件名)显示一页。退出后文件内容仍显示在屏幕上。 按空格进入下一页,按 b 进入上一页。按 ctrl + c 结束。
结束的一些套路:
ctrl + c 结束。
两次 ctrl + c 。
exit
文件相关:
:q!
:q
less : 查看文件 (后面跟文件名)显示一页。退出后文件内容不留在屏幕上。 page up / page down 翻页。
/ : 进入文件后,按 / 进行搜索(/ 后面跟你要搜索的内容)
:q : 退出文件
head : 查看文件,查看开头 n 行,head 后面跟数字 可以手动指定 查看行数。
tail : 查看文件,查看最后 n 行,head 后面跟数字 可以手动指定 查看行数。
删除文件
rm : 删除文件
rm -r : 删除多级目录,目录里面的文件也会删掉。

编辑文件内容
vi : 进入文件
i : 进入编辑模式
ESC : 退出编辑模式
:w : 保存
:q : 退出
:wq : 保存并退出
:q! : 强制退出
:wq! : 强制保存并退出
复制文件
cp [文件名] [目的地] : 复制文件。

移动文件
mv [文件名] [目的地] : 移动文件。这条命令也可以达到重命名的效果。下图表示把 cat.jpg 重命名为 cat2.jpg。

查找文件
grep [要找的文件] [在哪个文件中找] : 查找文件

grep 不仅仅能查文件,它最主要的功能是查找。想查什么用它就对了。
进程相关
查看当前系统上运行的进程
ps [参数] : 查看当前系统上运行的进程
ps aux : 查看所有进程。(显示内容更多)
ps aux : grep “进程名”
ps aux : grep “进程 id”
ps -ef : 查看所有进程。(显示一部分内容)
管道简单介绍
| : 表示把 “|” 前面命令的输出,作为"|"后面命令的输入。
例:输入 ps -ef | grep “redis” 这条命令前半部分的含义是 查看当前系统上运行的所有进程。后半部分的含义是 查找 带 “redis” 的文件。 组合起来就是 查找当前系统上运行的进程名字带 “redis” 的进程。输出:
查看系统网络状态
netstat [参数] : 查看系统网络状态

搭建 Java 部署环境
apt 介绍
apt 是啥呢?它就跟手机上的应用商店一样,你可以在上面下载各种软件。
在 linux 中主要有两种下载软件包的方法,一个是去官网下载,另一个就是用 apt 下载。
需要注意的是:在使用大多数 apt 命令时,必须要以 sudo 权限的用户身份运行。
sudo apt list : 列出 apt 中所有的包。可以使用 grep 命令过滤输出。
sudo apt-get update : 更新软件包数据库。一般在安装软件之前,都需要先更新一下 apt 数据库。
sudo apt install 包名称 : 添加软件包
sudo apt remove 包名称 : 删除软件包,不会删除配置文件。
sudo apt purge 包名称 : 删除软件包,会删除配置文件,一般推荐使用这个删。

JDK 安装
-
sudo apt-get update : 更新软件包数据库。一般在安装软件之前,都需要先更新一下 apt 数据库。
-
查找 JDK 包
apt list | grep “jdk”
-
安装 JDK
sudo apt install openjdk-17-jdk
-
查看是否安装完成
java -version

MySQL 安装
-
查找安装包
apt list | grep “mysql-server”
-
安装 MySQL
sudo apt install mysql-server
-
查看 MySQL 状态
sudo systemctl status mysql
MySQL 安全相关设置
你按照好 MySQL 之后,默认的 MySQL 设置是不安全的,为了保证数据安全,我们需要做如下设置。
运行: sudo mysql_secure_installation
运行后会弹出如下文字:

这是在让你选择密码的安全级别,数字 0、1、2 分别表示低中高,我们选 2。
这是在问你是否要删除默认用户,根据自己需求选择。

这是在问你,这台机器上的 MySQL 是否只在当前机器上运行。

选 Y,表示别的机器无法远程连接你的 MySQL数据库。
MySQL 默认会生成一个 test 数据库,这是在问你要不要删除。

这是在问是否让你的设置生效。

设置密码
-
连接 MySQL 服务器
sudo mysql
-
使用 alter user 命令修改密码
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘密码’;
设置完成密码后,后续再进入 MySQL 的命令:
mysql -u用户名 -p密码
MySQL 卸载
-
停止 MySQL
sudo systemctl stop mysql
-
卸载 MySQL
sudo apt-get remove --purge mysql-server mysql-client mysql-common
-
删除 MySQL 配置文件和数据
sudo rm -rf /etc/mysql /var/lib/mysql
-
清理残留文件和目录
sudo apt-get autoremove
sudo apt-get autoclean
-
检查是否有残留
dpkg --list | grep -i mysql-*
-
移除相关包
apt-get purge mysql*
-
验证卸载结果
mysql --version
部署 Web 项目到 Linux
什么是部署?
把程序安装到生产环境上,这个过程就称为部署。
- 开发环境(dev):开发人员使用的环境。
- 测试环境(test):测试人员使用的环境。
- 生产环境(prod):真实用户使用的环境。
环境配置
数据准备
把之前的数据库建表的脚本,放在服务器上运行,建立同样的表结构。
配置文件修改
程序部署到服务器,通常需要修改配置文件。比如:关闭日志打印,修改密码等等。
当然可以在你的开发环境上修改好,之后在送到服务器上。但是这样很不方便,需要改来改去。
为了方便部署,我们可以为不同的平台 创建各自的配置文件。

dev 表示开发环境。 prod 表示生产环境
这么多配置文件,到底哪个文件会生效呢?
答: 只有 application.yml 生效,其余配置文件都不会生效。
如何让其他配置文件生效呢?
我们在 application.yml 中输入如下代码:

此时 application-prod.yml 就会生效啦。
需要注意的是 application-名称.yml 是固定格式,必须这样写!!!
但是这样还是很麻烦,还需要手写 prod。
我们可以进一步的把它设置成变量。
打开 pom 文件,按照如下设置:

application.yml 中这样设置:

刷新 Maven。
设置好了,那该怎么选择用哪个呢?

打包
先检查你的 pom 文件中是否有以下配置。

没有的话在 里面加上。
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build>
如果没有该插件,那么你打的包中不会有第三方依赖的东西。也就是这些:
都做好以后,点击右侧的 Maven,点击 package。
打好的文件在:


如果显示:

去下载对应的包即可:
apt install lrzsz
完成!
启动 .jar 包
java -jar 包名
但是这样启动后,一旦你把命令框关掉,你的程序也就关掉了。
让你的程序在后台启动
nohup java -jar 程序包名 &
查看滚动日志
tail -f 日志名称
常见问题
-
无法访问
输入以下命令来查看端口号是否启动。
netstat -nltp|grep 端口号
输入以下命令来查看所有 java 程序
ps -ef|grep java -
确认端口号是否开放
-
确认程序是否可以正常访问
curl http://127.0.0.1:8080/blog_login.html
-
确认防火墙是否打开(默认是关闭的状态)
sudo ufw status如果防火墙打开了,还需要再打开防火墙的端口号。如果不知道防火墙怎么弄,上网查资料,或者找云服务器的客服。
-
服务器未启动
- 查看端口号是否正确
- 查看日志
杀掉进程
-
查找进程 id
在日志上直接找

用命令查找:
netstat -nltp|grep 8080或者
ps -ef|grep java -
杀掉进程
kill 进程id
本文到这里就结束啦~

相关文章:
博客系统笔记总结 2( Linux 相关)
Linux 基本使用和程序部署 基本命令 文件操作 显示当前目录下的文件 ls:显示当前目录下的文件 ll:以列表的形式展示,包括隐藏文件 进入目录 && 显示当前路径 cd:进入目录(后面跟相对路径或者绝对路径&…...
计算机毕业设计SpringBoot+Vue.js电影评论网站系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
精美登录注册UI,登录页面设计模板
精美登录注册UI,登录页面设计模板 引言 在网页设计中,按钮是用户交互的重要元素之一。一个炫酷的按钮特效不仅能提升用户体验,还能为网页增添独特的视觉吸引力。今天,我们将通过CSS和JavaScript来实现一个“精美登录注册UI,登录页面设计模板”。该素材呈现了数据符号排版…...
《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
文章目录 引言什么是共享内存System V 共享内存 API 引入1. shmget2. shmat3. shmdt4. shmctl5. 结构体 shmid_ds 开始实操注意 结束 今天的你有没有前进一小步呢 ——家驹(StrangeHead) 引言 那么共享内存,我们如何去使用他呢,先来听笔者啰嗦一段话吧…...
【EB-03】 AUTOSAR builder与EB RTE集成
AUTOSAR builder与EB RTE集成 1. Import Arxml files to Tresos2. Run MultiTask Script3. Add Components3.1 Run EcuExtractCreator Script4. Mapping Component to Partitions5. Event Mapping/Runnables Mapping to Tasks6. Port Connect7. Run SvcAs_Trigger Script8. Ver…...
HTML——前端基础1
目录 前端概述 前端能做的事情编辑 两步完成一个网页程序 前端工具的选择与安装 HTML HTML5介绍 HTML5的DOCTYPE声明 HTML基本骨架 文字标签 标题之标签 标签之段落、换行、水平线 标签之图片 标签之超文本链接 标签之文本 列表标签之有序列表 列表标签之无序…...
AI回答:Linux C/C++编程学习路线
Linux C/C编程学习路线需要结合Linux系统特性和C/C语言的特点,以下是一个系统化的学习路径,适合从初学者到进阶者: 第一阶段:Linux基础 Linux操作系统基础 学习Linux基本命令:ls、cd、mkdir、rm、grep、find等。 理解…...
螺旋数字矩阵
螺旋数字矩阵 真题目录: 点击去查看 E 卷 100分题型 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3…n,最终形成一…...
Jupyter Notebook切换虚拟环境(Kernel管理)
我们在使用Jupyter Notebook的时候,打开文件发现只有一个Python3(ipykernel),我们自己在conda中创建的虚拟环境为什么没有显示出来,今天我就来和大家一起讨论一下! 在 Jupyter Notebook 中,kernel 是执行代码的核心。管…...
linux下软件安装、查找、卸载
目录 常见安装方式有三种: 1.源码安装。 2.rpm安装方式。 3.yum/apt工具级别安装。 对于前两种安装方式,因为软件可能有依赖关系(安装的软件依赖于某些库,而这些库又依赖于某些库,这些都需要手动安装)…...
vuetify项目添加代理跨域请求
vuetify项目添加代理转发后端接口实现跨域请求 配置一(推荐)配置二 在项目根目录下找到vite.config.mts文件并在里面的server下配置代理, 具体实现代码如下: 配置一(推荐) server: {port: 3000,// 配置代理…...
H5 火柴人科目三和GitHub获取仓库点星星的用户列表发生了艺术的碰撞
先看效果,代码写的比较乱,有待优化 效果 https://linyisonger.github.io/H5.Examples/?name./089.%E7%9C%8B%E6%98%9F%E6%98%9F%E7%9A%84%E8%88%9E%E8%80%85.html 思路 看起来很简单,实则也不是很难,就是需要思路要打开。 一…...
【Azure 架构师学习笔记】- Azure Databricks (12) -- Medallion Architecture简介
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (11) – UC搭建 前言 使用ADB 或者数据湖,基本上绕不开一个架构“Medallion”, 它使得数据管理更为简单有效。ADB 通过…...
基础知识|原型在什么时候用和类的区别
在 JavaScript 中,原型和类是两个密切相关但有所不同的概念。理解这两者之间的差异有助于更好地掌握面向对象编程(OOP)在 JavaScript 中的实现。 1. 原型(Prototype) 原型是 JavaScript 中实现继承和共享行为的核心机…...
【FFmpeg】拉流
概述 项目实践中涉及到使用ffmpeg进行推流和拉流操作,本文主要对一些基本操作做一个学习总结,后续再学习其源码架构;总结方法遵循实现功能配合函数具体实现 基本使用 拉流 avformat_network_init();//日志输出等级set_ffmpeg_log_level();…...
LangChain构建行业知识库实践:从架构设计到生产部署全指南
文章目录 引言:行业知识库的进化挑战一、系统架构设计1.1 核心组件拓扑1.2 模块化设计原则二、关键技术实现2.1 文档预处理流水线2.2 混合检索增强三、领域适配优化3.1 医学知识图谱融合3.2 检索结果重排序算法四、生产环境部署4.1 性能优化方案4.2 安全防护体系五、评估与调优…...
解决jupyter notebook不是内部或外部命令问题
我们打开cmd有的时候,输入jupyter notebook,发现会提示jupyter 不是内部或外部命令,也不是可运行的程序或批处理文件。遇到这个问题我们应该怎么解决呢? 没错就是添加环境变量! Step01:在电脑中找到jupyter notebook的…...
MySQL----case的用法
在 MySQL 中,CASE 表达式是一个用于条件判断的功能,可以根据不同的条件返回不同的结果。CASE 表达式通常用于 SELECT 查询语句中,可以在 SQL 中灵活地进行条件判断和数据转换。CASE 有两种基本的语法形式: 简单 CASE 表达式&…...
Unity XR-XR Interaction Toolkit开发使用方法(十)组件介绍(XR Interaction Group)
目录 一、插件介绍 二、主要组件 XR Interaction Manager XR Controller XR Interactor XR Direct Interactor XR Ray Interactor XR Socket Interactor XR Gaze Interactor 三、XR Interaction Group 1、组件介绍 2、核心功能与特点 优先级与冲突管理 动态交互切…...
深入理解 并查集LRUCaChe
并查集&LRUCaChe 个人主页:顾漂亮 文章专栏:Java数据结构 1.并查集的原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后根据一定规律将归于同一组元素的…...
如何选择杭州GEO优化公司?2026年4月推荐评测口碑对比TOP7
据权威第三方Gartner预测,2026年搜索引擎访问量将下降25%,近四分之一的搜索流量向AI聊天机器人等新型载体转移,GEO(生成式引擎优化)已成为企业突破流量瓶颈、实现长期发展的核心战略。2026年4月,选择技术扎…...
科哥Face Fusion镜像:UI界面自定义修改,实现边框特效的保姆级教程
科哥Face Fusion镜像:UI界面自定义修改,实现边框特效的保姆级教程 1. 从基础融合到创意特效的升级之路 如果你已经体验过科哥Face Fusion镜像的基础人脸融合功能,可能会好奇:这个强大的工具能否进一步个性化?比如为合…...
百度网盘秒传脚本:3分钟掌握文件秒传的核心技术
百度网盘秒传脚本:3分钟掌握文件秒传的核心技术 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 还在为百度网盘大文件分享的漫长等待而烦恼吗&a…...
波普尔:反教皇的“新教皇”——一场百年认知诈骗的终极揭露
波普尔:反教皇的“新教皇”——一场百年认知诈骗的终极揭露摘要波普尔以“反教皇”自居,实则上演了最隐蔽的学术独裁。他通过偷换“绝对真理”概念,将确定性真理污名化为教皇式专制,再借“可证伪性”自封科学裁判,垄断…...
软件测试中的职业成长:覆盖率 vs 创新力
在软件测试领域,职业成长始终是从业者关注的核心议题。随着数字化转型加速,软件质量成为企业竞争力的关键支柱,测试工程师的角色从单纯的缺陷发现者向质量赋能者转变。然而,这一转型过程中,一个根本性矛盾日益凸显&…...
工业视觉光源频闪同步:三种主流触发模式的实战选型与调优
1. 工业视觉光源频闪同步的核心价值 在高速产线飞拍、精密装配检测等工业视觉场景中,光源频闪同步技术就像给高速运动的物体按下"暂停键"。想象一下拍摄飞驰的子弹——如果使用普通连续光,照片上只会得到一条模糊的轨迹;而采用精准…...
不用等IT排期:ChatBI如何让业务人员1分钟拿到业务洞察
开篇:3个业务人员天天遇到的取数难题难题一: 运营团队要复盘上周的大促返场活动效果—— 需要查新客转化率、客单价、渠道ROI等12个核心指标。 提交IT取数工单,排期要3天。 等数据出来的时候,下一轮投放的预算已经审批完了——错过…...
ESXI系统安装全流程解析:从U盘启动到网络配置
1. 制作ESXI启动U盘:从镜像下载到写入完成 准备一个容量至少8GB的U盘,建议使用USB3.0接口的高速U盘。我实测过多个品牌,闪迪CZ73和金士顿DTSE9在兼容性和速度上表现最好。制作启动盘前记得备份U盘数据,整个过程会清空所有内容。 首…...
UnrealPakViewer终极指南:如何快速分析虚幻引擎Pak文件资源
UnrealPakViewer终极指南:如何快速分析虚幻引擎Pak文件资源 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具,支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer 你是否曾经面对数十GB的虚幻…...
2026移动应用质量监控Bugly:全平台异常定位与统一管理实践
2026移动应用质量监控Bugly:全平台异常定位与统一管理实践 在移动应用开发进入多端融合与高频迭代的背景下,复杂运行环境使崩溃、性能劣化等问题更易隐蔽扩散,企业诉求已从被动修复转向主动、统一的质量管控。Bugly作为腾讯推出的专业应用质量…...

