Linux 基础-常用的命令和搭建 Java 部署环境
文章目录
- 目录相关
- 查看目录中的内容
- 查看目录当前的完整路径
- 切换目录
- 文件相关
- 创建文件
- 查看文件内容
- 写文件
- vim 基础
- 创建删除
- 创建目录
- 移动和复制
- 移动(剪切+粘贴)
- 复制(复制+粘贴)
- 搭建 Java 部署环境
- 1. 安装 jdk
- 2. 安装 tomcat
- 1). 我们在自己电脑上下好 tomcat
- 2). 从官网下载的 .zip 压缩包, 上传到 linux 上, 就可以直接使用了
- 3). 使用 unzip 命令进行解压缩
- 4). 进入 bin 目录中给所有的 ,sh 文件赋予可执行权限
- 5). 启动 tomcat
- 3. 安装 MySQL
目录相关
查看目录中的内容
ls // 查看当前目录, 都有哪些内容
直接输入 ls, 是查看当前目录中的内容
还可以给 ls 后面加上一个路径(绝对/相对), 就可以查看指定目录中的内容.
例如查看根目录的内容

ls -l //以详细的列表来查看

这样就更详细的查看了当前文件的内容
相比于使用 ls -l , 更常用 ll
ll // 是 ls -l 的简写, 效果相同
查看目录当前的完整路径
pwd // 查看目录当前的完整路径
万一我们迷路了, 可以通过 pwd 查看绝对路径是啥

这样就可以看到当前处于什么位置
切换目录
cd // 切换目录
就相当于 win 系统的双击某个目录进去

cd 后面也是可以跟上绝对路径或者相对路径
绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 … 开头的, 称为相对路径.
使用 tab 键补全
我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.
Linux 是一个树形目录结构

文件相关
创建文件
touch // 创建空的文件

当前处在哪个目录(pwd 的结果是啥), 此时问价就创建在哪
不写后缀名, 默认是 .txt
查看文件内容
cat //查看文件内容

因为是空的文件, 所以啥都没有
写文件
echo // 写文件

使用 > 是覆盖以前的内容, 使用 >> 是拼接以前的内容

cat 和 echo 只是简单粗暴的读写文件, 如果读写文件更加复杂, 就需要使用更加强大的编辑器了,
vim 基础
vi / vim 是linux 上默认自带的"记事本"程序
vim 文件名 // 打开文件


:q // 退出
:wq // 保存退出
vim 的关键概念, 模式
默认进去, 是普通模式(normal mode), 在普通模式下, 键盘的大部分按键, 都是特定含义的快捷键
真正进行编辑, 则需要进入插入模式(insert mode), 输入小写字母 i 就能进入插入模式.(进入插入模式的方式有很多, 例如 小写a , insert 键…)
按下 esc 回到普通模式, 然后 :wq 退出即可
如果 vim 没有正确关闭, 在下次启动的时候, 会报错, 提示你说上次没有正确关闭
可以直接按 D 就是删除未保存的内容, R 就是恢复之前编辑的内容
创建删除
创建目录
mkdir 目录名 // 创建目录



也可以一次创建多个目录

还可以一次创建多级目录
使用 -p 选项可以创建多级目录

rm 文件名 // 删除文件/目录

这里会提示你是否确定删除, y 确定, n 取消
删除目录 可以使用 -r 选项

移动和复制
移动(剪切+粘贴)
mv 源 目标 // 移动文件

mv 不仅能移动文件位置, 还能给文件改名

复制(复制+粘贴)
cp 源 目标 // 复制文件

cp 如果拷贝的是个目录, 需要加上 -r 表示递归拷贝

搭建 Java 部署环境
为了进行部署, 把我们写得 java web 程序放到 linux 上
需要先把对应的依赖的软件(环境)搭建好
先安装一些必要的软件程序
- jdk
- tomcat
- MySQL
…
这里我们的 jdk 直接使用 包管理器 进行安装 (基于 yum 安装)
这个 yum 就相当于手机应用商店
yum list | grep [关键词] // 找到要安装的包名
yum install [包名] // 进行安装
这个过程是需要联网的.(云服务器本身就是联网的)
1. 安装 jdk
输入 yum list | grep jdk

这里我们使用这个包
i686 是 32 位系统的版本
x86_64 是 64 位系统的的版本
linux 系统的复制粘贴是 :
Ctrl + Insert 复制
Shift + Insert 粘贴
然后复制包名, 进行安装

然后会有个提示说是否安装 我们输入 y 确定安装

过一会

这样我们就大功告成了
我们也可以输入 javac 验证一下

2. 安装 tomcat
如果我们用上面同样的方式, 我们就发现这里的版本比较老

noarch 的意思是不调系统(基于 Java 跨平台)
我们要使用 8 系列的怎么办呢
这里我们需要手动安装 tomcat 了
1). 我们在自己电脑上下好 tomcat

2). 从官网下载的 .zip 压缩包, 上传到 linux 上, 就可以直接使用了
直接把下载好的 .zip 文件往 linux 里一拖即可


如果卡住了, 进度条不会动, 先取消
在命令行里 输入
yum install lrzsz
拖拽上传, 其实使用到了 linux 的 rz 命令.
这个命令有的系统自带, 有的不自带.
不自带我们手动安装一下
3). 使用 unzip 命令进行解压缩
如果 unzip 找不到
就用
yum install unzip

这样就解压完成了

4). 进入 bin 目录中给所有的 ,sh 文件赋予可执行权限
然后进入到解压好的目录里面,

再进入 bin 目录

这里就是一些启动脚本相关的内容
这里我们需要 进入 bin 目录 使用
chmod +x *.sh
给所有的 .sh 文件赋予可执行的权限

这样就看到这些 .sh 文件都变绿了, 这样就可以了
5). 启动 tomcat
然后使用
sh startup.sh
就能启动 tomcat 了
3. 安装 MySQL
因为 MySQL 不是开源的了, 所以此处安装 MariaDB
这里我们参考 CentOS 7 通过 yum 安装 MariaDB即可
相关文章:
Linux 基础-常用的命令和搭建 Java 部署环境
文章目录 目录相关查看目录中的内容查看目录当前的完整路径切换目录 文件相关创建文件查看文件内容写文件vim 基础 创建删除创建目录 移动和复制移动(剪切粘贴)复制(复制粘贴) 搭建 Java 部署环境1. 安装 jdk2. 安装 tomcat1). 我们在自己电脑上下好 tomcat2). 从官网下载的 .z…...
c语言总结(解题方法)
项目前期处理: 1.首先需要确定项目的背景知识,即主要的难点知识,如指针,数组,结构体,以检索自己是否对项目所需的背景知识足够了解。 2.确定问题实现方法,即题目本身的实现方法,在c语…...
Webpack的ts的配置详细教程
文章目录 前言ts是什么?基础配置LoaderSource MapsClient types使用第三方类库导入其他资源 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:webpack 🐱👓博主在前端领域还有很多知识和技术需要掌握…...
传智杯第五届题解
B.莲子的机械动力学 分析:这题有个小坑,如果是00 0,结果记得要输出0。 得到的教训是,避免前导0出现时,要注意答案为0的情况。否则有可能会没有输出 #include<assert.h> #include<cstdio> #include<…...
Android 通过demo调试节点权限问题
Android 通过demo调试节点权限问题 近来收到客户反馈提到在应用层无法控制节点,于是写了一个简单的demo来验证节点的IO权限,具体调试步骤就是写一个按钮点击事件,当点击按钮时将需要验证的节点写为1(节点默认为1则写为0ÿ…...
邮政快递物流查询,将指定某天签收的单号筛选出来
批量查询邮政快递单号的物流信息,将指定某天签收的单号筛选出来。 所需工具: 一个【快递批量查询高手】软件 邮政快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,并登录 步骤2:点击主界面左…...
Java 8 lambda的一个编译bug
最近利用github action向Maven中央仓库发布企业微信SDK时会失败,从日志中发现是系统资源耗尽了,日志如下: [INFO] Changes detected - recompiling the module! :dependency [INFO] Compiling 35 source files with javac [debug target 8] …...
无人机覆盖路径规划综述
摘要:覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来,无人机已被应用于涉及地形覆盖的多个应用领域,如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方…...
【代码随想录】算法训练计划37
贪心 1、738. 单调递增的数字 题目: 输入: n 10 输出: 9 思路: func monotoneIncreasingDigits(n int) int {// 贪心,利用字符数组s : strconv.Itoa(n)ss : []byte(s)leng : len(ss)if leng < 1 {return n}for i:leng-1; i>0; i-- …...
网络基础_1
目录 网络基础 协议 协议分层 OSI七层模型 网络传输的基本流程 数据包的封装和分用 IP地址和MAC地址 网络基础 网络就是不同的计算机之间可以进行通信,前面我们学了同一台计算机之间通信,其中有进程间通信,前面学过的有管道ÿ…...
机器学习:DBSCAN算法(效果比K-means好)
基本概念 核心对象:以点为圆心半径为r的圆,如果圈里面的样本点大于给定的阈值(minPts),那么这个点就叫做核心点 直接密度可达:点p在q为圆心的圆内 密度可达: p1与p2直接密度可达,p2与p3直接密度可达&…...
在Spring Boot中隔离@Async异步任务的线程池
在异步任务执行的时候,我们知道其背后都有一个线程池来执行任务,但是为了控制异步任务的并发不影响到应用的正常运作,我们需要对线程池做好相关的配置,以防资源过度使用。这个时候我们就考虑将线程池进行隔离了。 那么我们为啥要…...
FFmpeg架构全面分析
一、简介 它的官网为:https://ffmpeg.org/,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。 FFmpeg是多媒体领域的万能工具。只要涉及音视频领…...
OAuth(开放授权)介绍
OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另一服务提供商上的信息,而无需将用户名和密码直接暴露给第三方应用。这个过程提供了一种安全的授权方式,常用于允许用户让第三方应用访问例如邮箱…...
Online ddl和replace ddl
在这个之前我们先来了解两种文件类型 1. .ibd文件 表数据文件,存储了表的数据和索引信息,从Mysql8开始表定义信息,从.frm文件改为.dcl文件存储,而表数据和索引信息仍然储存在.ibd文件,.idb文件通常在书籍库目录下。 …...
WEB渗透—反序列化(九)
Web渗透—反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩哔_…...
蓝桥杯day02——第三大的数
题目 给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1] 输出:1 解释:第三大的数是 1 。 示例 2: 输入:[1, 2] 输出&…...
linux shell中set -e命令的作用
set -e 是一个在shell脚本中常用的命令,它的含义是在脚本执行过程中,如果出现任何一个命令的执行结果不是零(即命令执行失败),则立即退出整个脚本。 set -e 的用途是在脚本中进行错误处理和控制流程。通过设置set -e&…...
linux shell 字符替换命令
sed 文本 2.txt 内容如下: 1 2 3 4 511 121abcabcc1.替换文本指定字符或字符串,不更改原文件 将文本内容替换并输出,但不直接在原文档中修改: sed "s/旧字符串/新字符串/g" 文档 范例,将文本中的 1 替换为 b rootheihei:/# sed &…...
Vue3生命周期函数(简述题)
1.图示 2.说明 3.补充 1.在vue3组合式API中,我们需要将生命周期函数先导入,然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
