Linux常见命令与Java环境部署

news2025/7/9 6:12:25

在这里插入图片描述

请添加图片描述

⭐️前言⭐️

🍉博客主页: 🍁【如风暖阳】🍁
🍉精品Java专栏【JavaSE】、【备战蓝桥】、【JavaEE初阶】、【MySQL】、【数据结构】
🍉欢迎点赞 👍 收藏留言评论 📝私信必回哟😁

🍉本文由 【如风暖阳】 原创,首发于 CSDN🙉

🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言

🍉博客中涉及源码及博主日常练习代码均已上传码云(gitee)、GitHub


请添加图片描述

📍内容导读📍

  • 🍅1.Linux常见命令
    • 1.1 ls
    • 1.2 pwd
    • 1.3 cd
    • 1.4 touch
    • 1.5 cat
    • 1.6 echo
    • 1.7 mkdir
    • 1.8 rm
    • 1.9 cp
    • 1.10 mv
    • 1.11 man
    • 1.12 less
    • 1.13 vim
    • 1.14 xshell快捷键
  • 🍅2.Linux权限
  • 🍅3.在Linux环境下搭建Java部署环境
    • 3.1 JDK的安装
    • 3.2 Tomcat的安装与打开
    • 3.3 MySQL的安装与配置
  • 🍅4.部署博客系统
    • 4.1 在服务器上准备好依赖的数据
    • 4.2 微调JDBC代码
    • 4.3 打包部署
    • 4.4 验证

请添加图片描述

🍅1.Linux常见命令

1.1 ls

ls: 列出当前目录中包含的文件和目录
(类似于在windows上双击某个目录,把它打开看看目录里有什么)。

ls->list

ls [路径](注意中间有空格):查看目标路径下的目录和文件,比如.表示当前目录,/表示根目录。

在这里插入图片描述

ls [选项](注意中间有空格): 通过在命令后加上-,以及一些特殊的字母/单词,来开启不同的功能。

例如最常用的ls -l,表示用列表的方式来列出目录中的内容(ls -l<=>ll
在这里插入图片描述

1.2 pwd

pwd: 告知我们当前在哪个目录中
(显示出当前目录所对应的绝对路径)

(在使用命令的时候,如果目录结构比较复杂,就很容易不知道自己在哪个目录中了)
这里是引用

1.3 cd

cd: 切换到指定的目录
(cd后面加上一个路径,这个路径可以是绝对路径,也可以是相对路径;cd就相当于鼠标双击目录进行切换)

cd->change directory
在这里插入图片描述

1.4 touch

touch: 创建一个空文件

这里是引用

1.5 cat

cat: 查看文件内容

这里是引用

1.6 echo

echo: 打印内容到控制台,也可用于写文件

这里是引用

1.7 mkdir

mkdir: 创建目录

mkdir<=>make directory
在这里插入图片描述
蓝色的表示目录,且开头有字母d

当创建出较为复杂的目录结构后,可以通过命令tree来查看目录结构,但该命令需要通过包管理器yum进行下载(如下完成下载)
在这里插入图片描述
进行测试:
在这里插入图片描述
在这里插入图片描述

1.8 rm

rm:删除
(既可以用于删除文件,也可以用于删除目录)

rm<=>remove

删除文件
输入rm [文件名]后会有提示,输入y后敲回车完成删除。
在这里插入图片描述
删除目录
在这里插入图片描述
可以在提示中发现不能完成删除,这是因为目录中可能还有目录和文件,需要递归删除。则需要加入选项-r
在这里插入图片描述

在上边的删除操作中,我们可以发现无论是删除文件还是目录,都会有提示来进一步确定是否要删除,这也说明了删除操作的危险性,如果想要直接删除,可以加上-f选项。
在这里插入图片描述

注意!!!
切记不能进行危险操作
rm -rf /,该操作会把整个磁盘上的所有文件都删除,包括系统文件

1.9 cp

cp: 复制文件或目录(注意:复制目录要加上-r选项)

cp<=>copy

cp [文件名或目录] [路径]
例:
cp test.txt aaa/
在这里插入图片描述

1.10 mv

mv: 移动目录或文件(或者给文件重命名)

mv<=>move

mv [要移动的目录或文件] [要移动到的位置]
(这两个参数都是绝对路径或者相对路径均可)
例:
mv aaa/test.txt bbb/在这里插入图片描述
此外mv还有重命名的功能
mv aaa/ ccc在这里插入图片描述

1.11 man

man: 查看联机手册

因为每个命令,都可以支持很多的参数选项,要想全都记住这些选项有些不现实,就可以通过man随时来查看帮助。

man ls.

1.12 less

less : 读取文件内容(内置翻页功能)

该命令与cat命令不同的是,less通过懒加载的方式来读取文件内容,每次读取的只是一小部分(比屏幕略大),向下翻时才会再继续加载。

通过这种方式可以实现大文件的秒开

less [文件名]

1.13 vim

vim既能读取文件内容,也能编辑文件(类似于一个文件编辑器)

其使用常常有以下几种情景:

1.使用vim创建或者打开文件

文件如果存在则直接打开,如果不存在就会直接创建空文件
在这里插入图片描述
2.使用vim编辑文件内容

在我们通过第一步打开文件后,发现无论在键盘上敲什么,屏幕上都不会发生变动。这是因为我们用vim打开文件后,默认进入的是“普通模式”,普通模式下,键盘按键不是表示编辑框输入的内容,而是表示特殊含义的快捷键;
如果想要编辑,就需要先进入“插入模式”,这时键盘按键才是输入内容。

vim中,使用小写字母i来从普通模式进入插入模式
xshell窗口左下角出现如下所示字样时,说明已经进入了插入模式,这时就可以进行文本编辑了。
在这里插入图片描述
3.使用vim进行保存退出

当我们完成文件内容编辑,想要保存退出时,需要进行如下两步操作

1)先从插入模式回到普通模式,按esc

2)输入:wq(与其有等价效果的还有:x

w=>write(写 保存)
q=>quit(退出)

1.14 xshell快捷键

ctrl+c =》取消当前命令
ctrl+insert=>复制(如果电脑有fn键,快捷键不生效可尝试连同fn键一起按)
shift+insert=>粘贴(如果电脑有fn键,快捷键不生效可尝试连同fn键一起按)
ctrl+l=》清屏
tab=》所有的Linux命令,可以尝试使用tab键来补全。

🍅2.Linux权限

权限就是对操作的限制,Linux的权限主要是围绕文件和目录来展开的。

列出的文件列表如下图:
在这里插入图片描述
红框框住的部分就描述了文件/目录的权限。

在这一组字母中,涉及到三种操作和三类角色
r 表示可读
w 表示可写
x 表示可执行
- 表示没有对应的权限

每行字母的第一个字符,-表示普通文件,d表示目录文件,第一个字符与权限无关,表示文件类型。

后面的9个字符,分成三个三个一组,共三组,分别表示文件拥有者的权限同组用户的权限其他用户的权限

在这里插入图片描述

🍅3.在Linux环境下搭建Java部署环境

这一部分我们主要完成,在Linux系统下搭建Java的运行环境,并且能够部署Java Web程序。
下边就是在Linux上安装的必要程序:

3.1 JDK的安装

基于yum(包管理器)来进行安装即可。

通过yum list命令,就可以列出在应用商店服务器上所有的软件包的名字,我们只需要与JDK有关的软件包,就需要grep命令来进行过滤

grep:进行字符串过滤

yum list | grep jdk
|叫做管道,功能是把前一个命令的输出,作为后一个命令的输入;grep jdk就是根据yum list输出的结果,来匹配包含jdk这三个字母的文本行。

在这里插入图片描述
认准红框中的软件包通过yum install [软件包名]来进行安装。
在这里插入图片描述
敲上图命令即可,博主已经完成了安装。

可以通过在命令行中敲javac来验证是否完成了安装:
在这里插入图片描述

3.2 Tomcat的安装与打开

由于在yum包管理器中,Tomcat的版本太老,所以我们需要到官网进行下载。
在这里插入图片描述

1.进入Tomcat官网,完成压缩包.zip的下载
在这里插入图片描述

2.压缩包下载后,直接拖拽到xshell中即可
在这里插入图片描述
拖拽操作用到命令rz,如果无法完成拖拽则手动下载yum install lrzsz

3.使用unzip命令解压缩压缩包
在这里插入图片描述
如果无法直接使用unzip命令,则手动下载yum install unzip

4.切换到bin目录中,给所有的.sh加上可执行权限
输入命令chmod + x *.sh
在这里插入图片描述

5.输入sh startup.sh启动tomcat

验证tomcat是否真正启动有以下三种验证方式:

1)查看Tomcat进程
命令ps aux|grep tomcat
在这里插入图片描述
ps命令该命令相当于Linux上的任务管理器,会打印出当前主机的所有进程,grep tomcat按照tomcat关键字来进行匹配

2)查看tomcat的端口,默认是8080
命令netstat -anp|grep 8080
在这里插入图片描述
3)查看能否访问tomcat的欢迎页面

导航栏输入http://162.14.74.192:8080/ 端口号前的是自己的外网IP地址。
输入后发现并不能直接访问,还需要我们在服务器后台进行手动配置
在这里插入图片描述
我们需要在服务器的防火墙设置8080端口可访问
1.在这里插入图片描述
2.在这里插入图片描述

成功!!!
在这里插入图片描述

3.3 MySQL的安装与配置

在Linux上的MySQL的安装较为复杂,可以安装MySQL的平替版本MariaDB。MariaDB和MySQL是孪生兄弟,两者的SQL语句命令都可兼容。

具体安装流程见文章【CentOS 7 通过 yum 安装 MariaDB】

按照文章流程进行安装后,默认的数据库是没有密码的,这就需要我们在部署程序时,连接数据库的JDBC部分需要做出微调,把密码设置为空。

注意建库时自行指定编码方式,为了支持中文,统一使用 utf8mb4 字符集

MariaDB [(none)]> create database databaseName charset utf8mb4;

掌握两个基础命令:
打开数据库:mysql -uroot
退出数据库:quit

🍅4.部署博客系统

到这一步,就是我们通过云服务搭建Linux操作系统的核心所在——部署程序,在前边的文章中,博主已经带领大家完成了本地的个人博客系统的搭建。【手把手带你搭建个人博客系统(一)】、【手把手带你搭建个人博客系统(二)】。

下边,我们就把本地的个人博客系统部署到云服务器上,这样,我们就可以通过外网IP来访问自己搭建的博客系统了。

4.1 在服务器上准备好依赖的数据

因为我们之前在本地建库建表,插入数据,操作的都是windows系统下的MySQL数据库,要想把程序部署到服务器上,也就需要在服务器上准备好所依赖的数据。

找到我们之前编写sql语句的文件db.sql,直接进行复制,然后在Linux系统的数据库中粘贴,完成数据的准备。
在这里插入图片描述

4.2 微调JDBC代码

将密码改为空
在这里插入图片描述
url地址并不需要变动,因为127.0.0.1是环回IP,表示服务器本身。

4.3 打包部署

1)在pom.xml文件中编写代码,确定打包格式及包名
在这里插入图片描述
2)在idea中打包,双击package
在这里插入图片描述
3)切换到tomcat/webapps目录下,直接把war包拖拽过去。
在这里插入图片描述

4.4 验证

接下来,我们就可以通过外网IPhttp://162.14.74.192:8080/blog_system/blog_login.html来访问我们搭建的个人博客了,IP地址的一级路径注意是我们打包的包名。
在这里插入图片描述


⭐️最后的话⭐️
总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ijkplayer基于rtsp直播延时的深度优化

现在ijkPlayer是许多播放器、直播平台的首选&#xff0c;相信很多开发者都接触过ijkPlayer&#xff0c;无论是Android工程师还是iOS工程师。本文主要是总结&#xff0c;也是与大家探讨RTSP直播的延时优化。 目录 一、修改编译脚本支持RTSP 二、修改播放器的option参数 三、…

WEB基础

互联网简介 互联网是世界上最大的计算机网络 互联网被称为网络的网络 万维网是互联网中的一个子网 WWW包含分散在世界范围内的众多Web 服务器&#xff08;World Wide Web&#xff09;WEB web即全球广域网World Wide Web&#xff0c;也称万维网&#xff0c;是一种基于超文本和HT…

基于ssm+mysql+jsp作业管理(在线学习)系统

基于ssmmysqljsp作业管理&#xff08;在线学习&#xff09;系统一、系统介绍二、功能展示1.用户登陆2.用户注册3.在线学习&#xff08;评论&#xff09;--学生4.任务列表--学生5.我的作业--学生6.个人中心7.发布课程--老师8.发布任务--老师9.评阅作业10.后台管理--管理员一、系…

RabbitMQ初步到精通-第五章-RabbitMQ之消息防丢失

目录 第五章-RabbitMQ之消息防丢失 1.消息是如何丢的 ​编辑 2.如何控制消息丢失 2.1 生产者发送消息到Broker过程 2.2 Broker内部过程 2.2.1 Exchange发送至queue过程-Return机制 2.2.2 queue存储过程 2.3 消费者消费过程-消费端确认 3.最佳实践 第五章-RabbitMQ之消息…

养老服务系统设计与实现-计算机毕业设计源码+LW文档

基于SSM的养老服务系统设计与实现 摘 要 本养老服务系统就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对养老服务的管理&#xff0c;从而保证系统得到充分利用&#xff0c;可以实现养老服务的在线管理&#xff0c;这样保证了资源共享效率的…

牛客刷题记录(常见笔试题)

目录 一、Map的应用篇 乒 乓球筐 简单的错误记录 二、动态规划篇 计算字符串的编辑距离 年终奖 最长不含重复字符的子字符串 合唱团 三、数组篇 顺时针打印矩阵 一、Map的应用篇 乒 乓球筐 题目地址&#xff1a;乒乓球筐 小白代码 import java.util.*;// 注意类名必…

一次就能释放大量Mac内存空间的方法,你用过哪种?

清理Mac内存空间对Mac的运行速度有着非常大的好处&#xff0c;所以合理释放Mac内存空间是广大用户常做的一件事。那么小编整理了一些能够一次性大量释放Mac内存空间的方法&#xff0c;大家常用的是哪一种呢&#xff1f;欢迎一起交流哦~以下&#xff1a; 一、清理MAC缓存&#x…

微信小程序|从零动手实现俄罗斯方块

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

[Linux]----进程间通信之管道通信

文章目录前言一、进程间通信目的二、进程间通信发展三、进程间通信分类四、管道1. 匿名管道2. 管道内核代码3. 站在文件描述符角度-深度理解管道4. 站在内核角度-管道本质5. 管道的特征总结五、命名管道1. 创建命名管道总结前言 首先我基于通信背景来带大家了解进程间通讯&…

HTTP协议详细总结

目录 1.HTTP协议是什么? 2.什么叫做应用层协议 3.HTTP协议的工作流程 4.HTTP报文格式 请求报文: 响应报文: 5.URL 6.方法的认识 1.GET 2.POST 3.GET和POST的区别 4.其他方法 7.报头的认识 用户登陆过程: 8.状态码的认识 9.HTTPS 9.1HTTPS是什么? 9.2HTTPS的…

现代c++中实现精确延时方法总结

程序中实现延时有很多种办法&#xff0c;但是有些不建议用。比如还在用sleep()或者空转计数的方式延时&#xff1f;要么移植性不好&#xff0c;要么不够精确且效率太低。这里总结下现代c中推荐的一种实现精确延时的方法。 之前的一些用法 粗暴空转 long wait 0; while(wait…

十二、Mysql的索引

Mysql的索引十二、Mysql的索引一、什么是索引二、常见索引的种类(算法)三、B树 基于不同的查找算法分类介绍1、B树结构2、B-树四、索引的功能性分类1、辅助索引(S)及构建B树结构2、聚集索引(C)及构建B树结构3、聚集索引和辅助索引构成区别4、关于索引树的高度受什么影响五、索引…

Vue快速入门一:官网、下载、定义变量

Vue官网&#xff1a;Vue.js - 渐进式 JavaScript 框架 | Vue.js Vue2中文文档&#xff1a;Vue.js介绍 — Vue.jsVue.js Vue3中文文档&#xff1a;快速上手 | Vue.js Vue下载&#xff1a; Vue2下载&#xff1a; 引入Vue2版本&#xff1a;打开上面的中文文档&#xff0c;找到这…

Flink窗口及其分类-详细说明

文章目录&#x1f48e;Flink窗口的概念⚽窗口的分类&#x1faa9;窗口 API 概览⚾窗口分配器&#xff08;Window Assigners&#xff09;&#x1f603;&#x1f603;&#x1f603;&#x1f603;&#x1f603; 更多资源链接&#xff0c;欢迎访问作者gitee仓库&#xff1a;https:/…

Hive:BUG记录,错误使用动态分区导致的插入失败

1.场景 在Hive中&#xff0c;插入数据时可以指定动态分区&#xff0c;如果通过partition(day_partition)指定动态分区&#xff0c;而实际的select语句是直接把这个属性值写死了&#xff08;如‘2022-10-13’&#xff09;&#xff0c;就可以不需要指定hive变量set hive.exec.dy…

【牛客】四选一多路器

描述 制作一个四选一的多路选择器&#xff0c;要求输出定义上为线网类型 状态转换&#xff1a; d0 11 d1 10 d2 01 d3 00 信号示意图&#xff1a; 波形示意图&#xff1a; 输入描述&#xff1a; 输入信号 d1,d2,d3,d4 sel 类型 wire 输出描述&#xff1a; 输出信…

【信号处理】扩展卡尔曼滤波EKF(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

学习 MongoDB5 这一篇就够了

文章目录一、相关概念1.1、业务场景1.2、简介1.3、体系结构1.4、数据模型二、安装三、基本常用命令3.1、数据库操作3.2、集合操作3.3、文档基本CRUD1、插入2、查询3、更新4、删除3.4、分页查询3.5、更多查询3.6、小结四、索引4.1、概述4.2、类型4.3、管理操作4.4、索引的使用4.…

四十五、壁面函数理论及y+的确定

0. 前言 什么叫做壁面函数&#xff0c;为什么引入壁面函数的概念?? 因为流体无论流动&#xff0c;还是传热、传质都存在边界层。而之所以有壁面函数这个东西&#xff0c;根源就在于边界层理论。 1. 边界层理论 大家都知道什么是边界层理论&#xff0c;我们想要理解壁面函数…

美国这几年的人口死亡数据

2015年&#xff1a;总死亡271.20万&#xff0c;平均死亡年龄78.8 2016年&#xff1a;总死亡274.40万&#xff0c;平均死亡年龄78.6 2017年&#xff1a;总死亡281.35万&#xff0c;平均死亡年龄78.6 2018年&#xff1a;总死亡283.90万&#xff0c;平均死亡年龄78.7 2019年&#…