Linux实战学习

news2024/12/29 10:22:22

文章目录

  • 一、Linux权限信息
    • 权限控制信息
    • chmod
    • ifconfig
    • ping
    • nmap netstat
    • ps kill
    • zip unzip
    • 常用快捷键
  • 二、搭建Java环境
    • yum
    • JDK
    • Tomcat
    • Mysql
  • 三、部署Web项目到服务器

一、Linux权限信息

Linux中,拥有最大权限的账户为: root(超级管理员),而普通用户在很多地方的权限是受限的,普通用户一般在HOME目录是不受限的,出了HOME之外的大多数地方只有可读和执行的权限
切换用户:

  su [-] 用户名

-符号是可选的,表示在切换用户后是否加载环境变量,我们用户名可以省略(表示切换到root),切换用户后可以通过exit命令回退上一个用户,也可以使用ctrl+d,但是我们不建议长期使用root用户,避免给系统带来损害
我们可以使用sudo命令,为普通命令授权临时以root身份执行

 sudo 其他命令

能执行sudo的前提是,为普通用户配置sudo认证
用户、用户组: Linux系统中可以配置多个用户,配置多个用户组,每个用户可以加入多个用户组中,针对某文件,我们可以控制用户的权限,也可以控制用户组的权限
在这里插入图片描述
在root用户下进行用户组管理

 groupadd 用户组名 //创建用户组
 groupdel 用户组名 //删除用户组 

在root用户在进行用户管理

 useradd [-g -d] 用户名 //创建用户
 userdel [-r] 用户名 //删除用户
 id [用户名] //查看用户所属组
 usermod -aG 用户组 用户名 //将用户加入指定组

权限控制信息

我们可以通过ls -l查看权限细节
在这里插入图片描述
1表示文件/文件夹的权限控制信息
2表示文件/文件夹所属用户
3表示文件/文件夹所属用户组
在这里插入图片描述
权限控制信息可以分为10个位置,第一位是文件类型(-表示文件,d表示文件夹,l表示软链接),2-4是所属用户权限,5-7是所属用户组权限,8-10是其他用户权限
r表示读权限,w表示写权限,x表示执行权限,-表示没有该权限

chmod

chmod:修改文件、文件夹的权限信息

 chmod [-R] 权限 文件/文件夹

-R表示对文件夹内的全部内容应用同样的操作
例如:

 chmod u=rwx,g=rx,o=x test.txt

将test.txt权限修改为 rwxr-x–x,u代表user,g代表group,o代表other

ifconfig

ifconfig: 查看本机ip地址
在这里插入图片描述

hostname //查看主机名
hostnamectl set-hostname //修改主机名

ping

ping:检查指定网络服务器是否可联通状态

 ping [-c num] ip或主机名

-c检查的次数,不加-c将无限次持续检查次数
在这里插入图片描述

nmap netstat

nmap:查看IP地址端口被占用情况

nmap 指定ip

在这里插入图片描述
需要安装nmap命令

 yum -y install nmap 

netstat:查看指定端口占用情况

netstat -anp | grep 指定端口号

在这里插入图片描述
安装netstat命令:

 yum -y install net-tools

ps kill

ps:查看Linux系统中的进程信息

 ps [-e -f]

-e显示出所有的进程,-f展示所有信息
在这里插入图片描述
ps命令一般搭配管道符使用
kill:关闭进程

 kill [-9] 进程ID

-9表示强制关闭进程。不使用会发送关闭信号,实际关不关闭取决于进程本身

zip unzip

zip:压缩文件为zip压缩包

zip [-r] 参数1 参数2 ... 参数N

-r在压缩文件夹时使用
unzip:解压zip压缩包

 unzip [-d] 参数

-d 解压去的位置,参数:被解压的文件

常用快捷键

Linux程序的运行,可以使用ctrl + c停止,也可以用于重新输入
在这里插入图片描述
可以通过ctrl + d退出账户的登录,不能用于退出vi/vim

通过history命令,查看历史输入过的命令
在这里插入图片描述
history可以搭配管道符使用

清空终端内容: ctrl + l 或者 clear命令

二、搭建Java环境

yum

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题

yum [-y] [install | remove | search| 软件名

-y自动确认,无需手动确认安装或卸载过程,install安装,remove卸载,search搜索

查找软件包列表

 yum list | grep 软件包关键字

yum的所有命令必须保证网络是畅通的前提下,部分命令必须具备权限

JDK

我们可以先进行查找JDK相关的安装包

yum list | grep "jdk"

在这里插入图片描述
大家需要注意的是我们yum上的JDK是openJDK是一个开源版本,和Oracle的JDK略有差异,我们这里使用openJDK即可

yum install java-1.8.0-openjdk.x86_64 //安装

使用 java -version验证JDK是否安装成功
在这里插入图片描述

Tomcat

在这里插入图片描述
yum上的tomcat的版本太过于老了,我们课堂上使用的是tomcat 8,这里我们手动安装一下,首先我们需要下载一个tomcat的压缩包
在这里插入图片描述
然后我们将zip压缩包直接拖拽到Linux终端即可
在这里插入图片描述
如果拖拽过去失败,需要进行以下安装:

 yum install lrzsz

解压缩Tomcat

 unzip apache-tomcat-8.5.87.zip

安装unzip命令:

 yum install unzip

在这里插入图片描述
然后我们进入tomcat
在这里插入图片描述
进入 bin目录
在这里插入图片描述
如果你的startup.sh是红色的,先加上可执行权限

 chmod +x *.sh

然后启动tomcat

sh startup.sh

在这里插入图片描述
但是我们想要通过外网访问这个页面需要开启服务器安全组,配置安全组使得允许外部主机访问服务器8080端口,具体可以咨询服务器客服,不同服务器之间略有差异

Mysql

大家可以参考这篇文章:Mysql详细安装教程
安装 mariadb服务

 yum install -y mariadb-server

安装mariadb命令行客户端

 yum yum install -y mariadb

安装mariadb C library

 yum install -y mariadb-libs

安装mariadb开发包

 yum yum install -y mariadb-devel

启动服务

 systemctl start mariadb

设置开机自动启动服务

 systemctl enable mariadb

查看服务器状态

 systemctl status mariadb

在这里插入图片描述
默认是无密码的,我们使用命令行客户端测试一下
在这里插入图片描述
查看mariadb版本号:

 select version();

在这里插入图片描述

三、部署Web项目到服务器

1.在服务器上的mysql中,进行建库建表
我们一般在本地写sql的时候会写一个.sql文件就是为了后续部署项目时直接复制用的
在这里插入图片描述
2.调整代码
因为我们本地数据库的端口号、用户名、密码和服务器数据库可以是不一样的,所以我们需要进行重新设置
3.打包
这里需要我们注意的是,我们打的是war包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.部署到服务器
在这里插入图片描述
我们将路径切换到webapps下,然后将我们本地的war包拖拽复制过去即可
然后切换到bin目录下
在这里插入图片描述
启动tomcat
在这里插入图片描述
然后我们查看一下8080端口的信息
在这里插入图片描述
在这里插入图片描述
这时我们就可以通过项目链接访问了,如果不能访问,可能是以下问题:
1.开启tomcat对应端口号的安全组
2.本地代码中的数据库连接信息(端口,账号,密码)可能需要调整

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

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

相关文章

UWB成为智慧工厂时代的代表技术

UWB成为智慧工厂时代的代表技术 随着智慧工厂的到来,在人员安全问题较为重要的行业中,为了避免人员安全事故的出现,各家企业都逐步装备了UWB定位系统。UWB信号的辐射非常低,通常只有手机辐射的千分之一,因此在工业上应…

【 Spring MVC 核心功能(二) - 获取参数(上)】

文章目录一、获取单个参数二、获取多个参数三、获取对象四、后端参数重命名4.1 使用 RequestParam 重命名参数4.2 RequestParam 中参数必传4.3 设置非必传参数五、使用 PathVariable 获取URL中参数一、获取单个参数 在 Spring MVC 中可以直接⽤⽅法中的参数来实现传单个参&…

uni-app:登录与支付-- 三秒后自动跳转

三秒后自动跳转 三秒后自动跳转到登录页面 需求描述:在购物车页面,当用户点击 “结算” 按钮时,如果用户没有登录,则 3 秒后自动跳转到登录页面 在 my-settle 组件的 methods 节点中,声明一个叫做 showTips 的方法&am…

Vue:生命周期

1、定义 生命周期函数(俗称:钩子函数) 根据vue整个渲染机制,在渲染的每个关键点上,提供对应的函数,进行一些相关的业务操作。 2、四个阶段 初始阶段:beforeCreate():可以加loadi…

vue-qr 生成二维码-使用

1、vue-qr官网说明 vue-qr - npm 2、使用 2.1 安装 vue-qr npm install vue-qr --save 2.2 代码 import vueQr from vue-qr; <el-dialog title"摘要" :visible.sync"openSummary" width"700px" append-to-body> <el-row> <el…

Oracle基础(表空间、用户、授权、表、数据类型、数据导入导出等)

Oracle基础(表空间、用户、授权、表、数据类型、数据导入导出等1 创建表空间1.1 概述1.2 语法&#xff1a;1.3 示例&#xff1a;2 创建用户2.1 语法2.2 示例2.3 用户授权类型3 表的创建、修改、删除3.1 表创建3.1.1 概述3.1.2 语法3.1.3 示例3.1.4 表的数据类型3.2 表修改3.2.1…

Oracle系列之七:表的创建与管理

Oracle表的创建与管理1. 表的创建2. 表的修改3. 表中数据的增删改查4. 表的Merge5. 表的删除6. 表的重命名7. 表的索引8. 表的约束9. dual表表是Oracle数据库中最基础的存储对象&#xff0c;用于存储数据。本文主要介绍了Oracle表的创建与管理&#xff0c;包括表的创建、修改、…

图像处理:双边滤波算法

今天主要是回顾一下双边滤波&#xff0c;我曾经在这篇——图像处理&#xff1a;推导五种滤波算法中推导过它&#xff0c;其中包含了我自己写的草稿图。 目录 双边滤波算法原理 &#xff08;1&#xff09;空间域核 &#xff08;2&#xff09;值域核 理解双边滤波 空域权重​…

Reactor模型在库存指令模块中的运用

Reactor是一种高性能网络模型&#xff0c;在netty、redis、nginx、kafaka、memcached等重要组件&#xff0c;以及唯品会自研的OSP框架都有应用&#xff0c;Reactor模型在提升性能和解耦方面都做得非常好&#xff0c;其编程思想也可以运用到业务系统的开发当中&#xff0c;本文主…

VUE:常见的面试题和答案

1. Vue组件的生命周期有哪些&#xff0c;它们的执行顺序是什么? 答&#xff1a;Vue组件的生命周期包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed等。它们的执行顺序如下&#xff1a; beforeCreate -> created ->…

21从零开始学Java之while与do-while循环的用法有什么不同?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中&#xff0c;壹哥给大家讲解了循环的概念&#xff0c;并重点给大家讲解了for循环的使用…

腾讯轻联流程运行错误如何排查问题?

我们在使用腾讯轻联时&#xff0c;会发现有些流程并没有运行成功&#xff0c;例如我们希望数据可以及时同步到腾讯文档&#xff0c;流程也有执行&#xff0c;但是却执行失败了&#xff0c;那么如何排查问题呢&#xff1f; 其中有几类常见问题 1. 流程不运行的问题请查看&…

【WCH】基于STM32F1标准库程序烧录到CH32F203中运行方法

【WCH】基于STM32标准库程序烧录到CH32F203中运行方法&#x1f4cc;相关篇《关于CH32F203程序下载方式说明》 ✨看到CH32F203手册上写的该芯片也是ARM Cortex-M3内核&#xff0c;那么上层代码应该也是兼容的&#xff0c;为例证实这一点&#xff0c;开干&#xff0c;先来一个简单…

C++---状态机模型---大盗阿福(每日一道算法2023.4.11)

注意事项&#xff1a; 建议先了解状态机的基本定义&#xff1a;状态机-百度百科。 题目&#xff1a; 阿福是一名经验丰富的大盗。趁着月黑风高&#xff0c;阿福打算今晚洗劫一条街上的店铺。 这条街上一共有 N 家店铺&#xff0c;每家店中都有一些现金。 阿福事先调查得知&…

实验手册 - 第8周DataFrame API/Spark SQL

目录标题实验1实验内容绘制散点图将数据保存到MySQL# import os # os.getcwd() import findspark findspark.init() from pyspark.sql import SparkSessionspark SparkSession.builder.getOrCreate()实验1 实验内容 通过DataFrame API或者Spark SQL对数据源进行修改列类型、…

malloc hook进行内存泄漏检测

记录下使用malloc的hook形式&#xff0c;写个小的demo&#xff0c;并记录遇到的问题 1. 实现代码&#xff1a; CMakeLists.txt和相应的memory_leak.cpp文件 cmake_minimum_required(VERSION 3.14) project(demo)set(_SRCmemory_leak.cpp)add_library(memory_leak SHARED ${_S…

不要轻视Facebook Messenger的客户服务

大多数现代品牌都意识到&#xff0c;在客户最活跃的数字渠道中保持活跃至关重要。如今全球有超过 2亿人使用社交消息应用程序与他人在线联系。特别是Facebook Messenger&#xff0c;每月有1亿用户 -占世界人口的3%&#xff01; 有这么多人使用Facebook Messenger&#xff0c;通…

UE5.1.1创建C++工程失败解决办法

闲来无事&#xff0c;更新了一下UE5.1.1&#xff0c;妈蛋创建C项目居然失败&#xff0c; 错误截图如下&#xff1a; 妈蛋&#xff0c;后面一堆乱码&#xff0c;鬼知道是啥错误&#xff01; 咋解决&#xff1f;步步高打火机&#xff0c;直接复制第一段的Running后面的代码到cmd…

仿真创新大赛—国三省一 智能鱼缸(proteus)(stm32)

⏩ 大家好哇&#xff01;我是小光&#xff0c;嵌入式爱好者&#xff0c;一个想要成为系统架构师的大三学生。 ⏩去年下半年参加了全国仿真创新大赛&#xff0c;也是取得了国赛三等奖&#xff0c;省赛一等奖的好成绩。 ⏩本篇文章对我们的参赛作品《智能鱼缸》做一个简介。 ⏩感…

UE4/5多人游戏详解(加入游戏会话,数值key和value,寻找IP地址)

目录 加入游戏会话 找到会话 加入会话 代码&#xff1a; 设置会话key和value 代码&#xff1a; 在寻找会话中添加匹配&#xff1a; 代码&#xff1a; 寻找IP地址&#xff1a; 代码&#xff1a; 回调函数onJoinSessionComplete实现&#xff1a; 代码&#xff1a; 测试…