Java Web项目—餐饮管理系统Day11-Linux-基本知识点(二)

文章目录

      • 1. 打包压缩命令
      • 2. 文本编辑命令
        • 命令模式
        • 插入模式
        • 底行模式
      • 4-5. 查找命令
        • find
        • grep
      • 5. 软件包安装
        • 安装 Java
        • 安装 tomcat
          • 防火墙操作
          • 停止Tomcat服务
      • 安装 MySQL 服务
          • 登录MySQL数据库,查阅临时密码

1. 打包压缩命令

打包压缩命令 tar

作用:对文件进行打包、解包、压缩、解压

语法: tar[-zcxvf] fileName [files]

包文件后缀为.tar 表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz 表示打包的同时还进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c: c代表的是create,即创建新的包文件
-x: x代表的是extract,实现从包文件中还原文件
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称

常用选项组合

tar -cvf test.tar test 
tar -zcvf test.tar.gz test
tar -xvf test.tar
tar -zxvf test.tar.gz

2. 文本编辑命令

文本编辑命令 vi/vim
作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法: vi fileName

说明:
1、vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
2、要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装: yum install vim

Linux常用命令
文本编辑命令 vim
作用:对文件内容进行编辑,vim其实就是一个文本编辑器语法: vim fileName
说明:
1、在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。

2、vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode), 插入模式(lnsert mode), 底行模式(Last line mode). 这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

命令模式

命令模式下可以查看文件内容、移动光标, 通过vim命令打开文件后,默认进入命令模式.
另外两种模式需要首先进入命令模式, 才能进入彼此.

插入模式

插入模式下可以对文件内容进行编辑
在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现 [insert] 字样.
在插入模式下按下ESC键,回到命令模式.

底行模式

底行模式下可以通过命令对文件内容进行查找、显示行号.
在命令模式下按下[:,/]任意一个,可以进入底行模式
通过/方式进入底行模式后, 可以对文件内容进行查找
通过:方式进入底行模式后, 可以输入wq (保存并退出) 、q!(不保存退出)、set nu (显示行号)

4-5. 查找命令

find

作用: 在指定目录下查找文件
语法: find dirName -option fileName
举例:

find .-name "*java"
find /itcast -name "*.java"

在当前目录及其子目录下查找.java结尾文件
在/itcast目录及其子目录下查找.iava结尾的文件

grep

作用:从指定文件中查找指定的文本内容
语法: grep word fileName
举例:

grep Hello HelloWorld.java
grep hello *.java

查找HelloWorld.java文件中出现的Hello字符串的位置
查找当前目录中所有java结尾的文件中包含hello字符串的位置

5. 软件包安装

二进制发布包安装
软件已经针对具体平台编译打包发布,只要解压,修改配置即可

rpm安装
软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题

yum安装
一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题

源码编译安装
软件以源码工程的形式发布,需要自己编译打包

安装 Java

下载 jdk17, 上传到服务器

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
https://download.oracle.com/java/17/archive/jdk-17.0.9_linux-x64_bin.tar.gz

解压到 usr/local/java 目录

mkdir /usr/local/java/
tar -xzvf /software/java/jdk-17.0.9_linux-x64_bin.tar.gz -C /usr/local/java/

编辑环境变量:

vim /etc/profile

追加内容:

export JAVA_HOME=/usr/local/java/jdk-17.0.2
export PATH=$PATH:$JAVA_HOME/bin;
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;

使环境变量生效:

source /etc/profile

注意如果权限缺失:

su - root

退出时: Ctrl + D

安装 tomcat

https://tomcat.apache.org/download-10.cgi
下载对应安装包并上传至服务器
解压到 /usr/local/ 目录
进入 tomcat 的 bin 目录
启动 tomcat 服务: sh startup.sh

可以使用如下的命令组合查看 tomcat 进程:

ps -ef | grep tomcat

使用本地电脑访问:

http://192.168.79.128:8080/

其中 ip 地址为远程服务器的地址(或者虚拟机的ip地址), 查看是否可以访问到页面
若不能, 则可能是 防火墙 的作用.

防火墙操作

查看防火墙状态: systemctl status firewalld or firewall-cmd --state
暂时关闭防火墙: systemctl stop firewalld
永久关闭防火墙: systemctl disable firewalld
开启防火墙: systemctl start firewalld
开放指定端口: firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭指定端口: firewall-cmd --zone=public --remove-port=8080/tcp --permanent
立即生效: firewall-cmd --reload
查看开放的端口: firewall-cmd --zone=public --list-ports
注意:
1、systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
2、firewall-cmd是Linux中专门用于控制防火墙的命令
3、为了保证系统安全,服务器的防火墙不建议关闭

执行命令:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports

刷新页面, 发现页面可以正常加载.

停止Tomcat服务
  1. 运行Tomcat的bin目录中提供的停止服务的脚本文件shutdown.sh
sh shutdown.sh
./shutdown.sh
  1. 结束Tomcat进程查看Tomcat进程,获得进程id
    执行命令结束进程 kill -9 7742
    注意, kill命令是Linux提供的用于结束进程的命令,-9表示强制结束

安装 MySQL 服务

先查看系统是否包含 mysql 服务

rpm -qa | grep mysql

查询当前系统中安装的名称带mariadb的软件

rpm -ga | grep mariadb

如果这两个程序存在则需要先卸载, 否则会产生冲突

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

将MySQL安装包上传到Linux并解压

mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86 64.rpm-bundle.tar.gz -C /usr/local/mysql

按照顺序安装rpm软件包

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明
1:安装过程中提示缺少net-tools依赖,使用yum安装说明
2: 可以通过指令升级现有软件及系统内核
yum update

查看 mysql 服务状态, 启动 mysql 服务:

systemctl status mysgld
systemctl start mysqld

可以设置开机时启动 mysql 服务,避免每次开机启动 mysql: systemctl enable mysqld
查看已经启动的服务: netstat -tunlp

登录MySQL数据库,查阅临时密码
cat /var/log/mysqld.log
cat /var/log/mysqld.log | grep password

注意事项, 冒号后面的是密码, 注意空格
登录MySOL,修改密码,开放访问权限: mysql -uroot -p

set global validate_password_length=4;      # 设置密码长度最低位数
set global validate_password_policy=LOW;    # 设置密码安全等级低,便于密码可以修改成root
set password = password('root');            # 设置密码为root
# 开启访问权限
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;

测试MySQL数据库是否正常工作: show databases;

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

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

相关文章

【好书推荐2】AI提示工程实战:从零开始利用提示工程学习应用大语言模型

【好书推荐2】AI提示工程实战:从零开始利用提示工程学习应用大语言模型 写在最前面AI辅助研发方向一:AI辅助研发的技术进展方向二:行业应用案例方向三:面临的挑战与机遇方向四:未来趋势预测方向五:与法规的…

深入理解模板进阶:掌握C++模板的高级技巧

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生 🙈个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE 🐼本文由GOTXX原创,首发CSDN&…

Reactor线程模型

线程模型 一、背景1.socket网络通信2.IO模型与线程模型3.线程模型分类3.1 阻塞模型3.2 Reactor模型3.3 Proactor模式 二、阻塞模型1.代码示例 三、Reactor模型1.单Reactor单线程1.1 处理过程1.2 优缺点1.3 代码示例 2.单Reactor多线程2.1 处理机制2.2 优缺点 3.主从Reactor3.1 …

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解

一:缓存雪崩 我们可以简单的理解为:由于原有缓存失效,新缓存未到期间 (例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了&#xff…

Ubuntu Desktop 设置 gedit

Ubuntu Desktop 设置 gedit 1. View2. Editor3. Font & Colors4. keyboard shortcut5. Find and ReplaceReferences gedit (/ˈdʒɛdɪt/ or /ˈɡɛdɪt/) is the default text editor of the GNOME desktop environment and part of the GNOME Core Applications. Desig…

[蓝桥杯 2015 省 B] 生命之树

水一水的入门树形DP #include<iostream> #include<algorithm> #include<vector> using namespace std; using ll long long; #define int long long const int N 2e610; const int inf 0x3f3f3f3f; const int mod 1e97;int n; int w[N]; vector<vecto…

Unity双击全屏UI按钮、长按UI按钮

1.长按按钮 将下面的代码挂载到按钮上&#xff0c;去掉按钮本射的Button组件 using System.Collections; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems;public class LongPressButton : MonoBehaviour, IPointerDownHandler, IPointerUpHand…

递推与递归

92. 递归实现指数型枚举 - AcWing题库 #include <bits/stdc.h> using namespace std; const int N17; int n; bool vis[N];//记录某一个数是否出现过 void dfs(int dep){// if(vis[dep])continue;//没有这一句 因为一定不会有已经选过的数if(depn1){//对于每个数都做完了…

NCP1031DR2G集成DC-DC转换器 为以太网供电设备提供低成本、高可靠性解决方案

NCP1031DR2G是微型高电压单片 DC-DC 转换器&#xff0c;带有片上电源开关和启动电路。使用极少的外部部件&#xff0c;将实施若干开关稳压器应用所需的所有有源电源、控制逻辑和保护电路相结合&#xff0c;这些应用有辅助侧偏置电源和低功率 DC-DC 转换器。此控制器系列适用于 …

Learn OpenGL 17 立方体贴图

立方体贴图 我们已经使用2D纹理很长时间了&#xff0c;但除此之外仍有更多的纹理类型等着我们探索。在本节中&#xff0c;我们将讨论的是将多个纹理组合起来映射到一张纹理上的一种纹理类型&#xff1a;立方体贴图(Cube Map)。 简单来说&#xff0c;立方体贴图就是一个包含了…

OpenCV Steger算法提取条纹中心线

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Steger 算法是一种常用的图像边缘检测算法,可以用于提取图像中的中心线或边缘信息。它的理论假设是:条纹的亮度是按照高斯分布呈现的,即中心亮两侧渐暗。 其计算过程如下所述: 1、首先,我们需要计算每个点Hess…

Kali Linux结合cpolar内网穿透实现公网环境SSH远程访问

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

鸿蒙开发实战案例—QQ联系人开发教程

本次案例挑选了QQ4个tab中相对较难的一个页面进行开发 先看一下本次案例的最终效果图&#xff1a; 这个页面的难点在于在List组件又嵌套了一个可以左右滑动的联系人分类&#xff0c;以及好友分组的展开和收起。 现在我们从上到下来开发这个界面&#xff0c;首先是导航栏&…

适合一个人开的实体店:轻松创业,快速盈利的秘诀

在当今的创业潮流中&#xff0c;很多人都渴望拥有一份属于自己的事业。如果你也想独自创业&#xff0c;开一家实体店&#xff0c;那么这篇文章将为你提供一些有价值的干货信息。作为一名经营5年酸奶吧的创业者&#xff0c;我将分享一些经验和见解&#xff0c;帮助你轻松创业并实…

【MD】金属-半导体界面超快辐射诱导熔化的分子动力学模拟

这篇文章是一篇发表在《Journal of Applied Physics》上的论文&#xff0c;标题为“Molecular dynamics simulations of ultrafast radiation induced melting at metal–semiconductor interfaces”&#xff0c;作者为Ashwin Ravichandran, Mohit Mehta, Andrew A. Woodworth,…

Python爬虫案例-爬取主题图片(可以选择自己喜欢的主题)

2024年了&#xff0c;你需要网络资源不能还自己再慢慢找吧&#xff1f; 跟着博主一块学习如何利用爬虫获取资源&#xff0c;从茫茫大海中寻找那个她到再妹子群中找妹子&#xff0c;闭着眼睛都可以找到合适的那种。文章有完整示例代码&#xff0c;拿过来就可以用&#xff0c;欢迎…

P8680 [蓝桥杯 2019 省 B] 特别数的和 Python

[蓝桥杯 2019 省 B] 特别数的和 题目描述 小明对数位中含有 2 2 2、 0 0 0、 1 1 1、 9 9 9 的数字很感兴趣&#xff08;不包括前导 0 0 0&#xff09;&#xff0c;在 1 1 1 到 40 40 40 中这样的数包括 1 1 1、 2 2 2、 9 9 9、 10 10 10 至 32 32 32、 39 39 39 和 …

洛谷 [传智杯 #5 初赛] B-莲子的机械动力学

题目链接&#xff1a;[传智杯 #5 初赛] B-莲子的机械动力学 题目背景 【题目背景和题目描述的两个题面是完全等价的&#xff0c;您可以选择阅读其中一部分。】 专攻超统一物理学的莲子&#xff0c;对机械结构的运动颇有了解。如下图所示&#xff0c;是一个三进制加法计算器的…

Django 反向解析路由

app2.urls.py from django.urls import path, re_path from . import viewsurlpatterns [path(index, views.index, nameindex),path(url_reverse, views.url_reverse, nameapp2_url_reverse), # 使用reverse()方法反向解析 ,name对于视图的reverse("app2_url_reverse&…

UGUI源码分析与研究1-UGUI底层的实现原理

UGUI&#xff08;Unity GUI&#xff09;是Unity引擎中的一套用户界面系统&#xff0c;用于创建游戏中的各种UI元素。UGUI的底层实现原理主要包括以下几个方面&#xff1a; Canvas&#xff1a;UGUI的核心是Canvas&#xff0c;它是一个渲染容器&#xff0c;用于存放和管理UI元素。…