Linux学习【教程+实操】【超基础】

news2024/12/24 2:46:12

链接:资料提取码:6klp

今日内容

  • Linux简介
  • Linux安装
    • 网卡设置
    • 安装SSH连接工具
    • Linux和Windows目录结构对比
  • Linux常用命令
    • Linux命令初体验
    • 文件目录操作命令
    • 拷贝移动命令
    • 打包压缩命令
    • 文本编辑命令
    • 查找命令
  • Linux软件安装
    • 软件安装方式
    • 安装jdk(采用二进制发布包安装)
    • 安装Tomcat
    • 安装MySQL
    • 安装lrzsz(文件下载和上传的工具)
  • 项目部署
    • 手工部署项目
    • 通过Shell脚本自动部署项目(需要Git基础)

Linux简介

1. 不同应用领域的主流操作系统
	* 桌面操作系统
		* Window(用户数量最多)、Mac OS(操作体验好,办公人士首选)、Linux(用户数量少)
	* 服务器操作系统
		* UNIX(安全、稳定、付费)
		* Linux(安全、稳定、免费、占有率高)
		* Window Server(付费、占有率低)
	* 移动设备操作系统
		* Android(基于Linux、开源、主要用于智能手机、平板电脑和智能电视)
		* iOS(苹果公司开发、不开源、用于苹果公司的产品,例如:iPhone、iPad)
	* 嵌入式操作系统
		* Linux(机顶盒、路由器、交换机)
2. Linux发展历史
	* 时间:1991年
	* 地点:芬兰赫尔辛基大学
	* 人物:Linus Torvalds(21岁)
	* 语言:C语言、汇编语言
	* logo:企鹅
	* 特点:免费、开源、多用户、多任务
3. Linux系统版本
	* Linux系统分为内核版和发行版
	* 内核版
		* 由Linus Torvalds及其团队开发、维护
		* 免费、开源
		* 负责控制硬件
	* 发行版
		* 基于Linux内核版进行拓展
		* 由各个Linux厂商开发、维护
		* 有收费版本和免费版本
		
	* Linux系统发行版:
		* Ubuntu:以桌面应用为主
		* RedHat:应用最广泛、收费
		* CentOS:RedHat的社区版、免费
		* openSUSE:对个人完成免费、图形界面华丽
		* Fedora:功能完备、快速更新、免费 
		* 红旗Linux:北京中科红旗软件技术有限公司开发

————————————————————————————————————————

Linux安装

在这里插入图片描述

采用虚拟机安装
在这里插入图片描述
(笔者安装VMware时:vmware安装问题:Microsoft Runtime DLL安装程序未能完成安装【已解决】:卸载干净重新装: 可以通过这个文章看看自己有没有卸载干净)
在这里插入图片描述
打开VMware,点击 创建新的虚拟机
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里使用我们下载好的镜像
在这里插入图片描述
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
下一步
开机后 鼠标点击黑色屏幕 然后鼠标消失
(鼠标出现是ctrl+alt)如下面出现弹框 可以x
然后键盘上下键控制
在这里插入图片描述
下一步
在这里插入图片描述
等 然后下一步
在这里插入图片描述
等 然后下一步 点击开始安装
在这里插入图片描述
等 然后下一步 设置root密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述





下一步
在这里插入图片描述
在这里插入图片描述
完成界面
在这里插入图片描述

网卡设置

在这里插入图片描述
在这里插入图片描述
输入完回车
在这里插入图片描述
i进行插入 修改如下图 再按ESC 再输入*:wq*
在这里插入图片描述
重启
在这里插入图片描述
ip地址出现
在这里插入图片描述

安装SSH连接工具

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再点击 最下面的 确定

下图 双击一下 Centos7就好了
在这里插入图片描述
(连接超时【已解决】:
原因:网络连接中无VMnet1和VMnet8,设备管理器中两者出现黄色感叹号
解决:卸载VMware干净之后 用CCleaner工具清理 重装VMware
可以通过这个文章看看自己有没有卸载干净
CCleaner工具下载)

连接成功
在这里插入图片描述

Linux和Windows目录结构对比

在这里插入图片描述
————————————————————————————————————————

Linux常用命令

Linux命令初体验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件目录操作命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为现在登录的用户是root用户,root用户的home目录就是/root
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自行 尝试 more /etc/profile

在这里插入图片描述
测试 tail -f my.log
在这里插入图片描述
被霸屏了,直接在在这里插入图片描述
鼠标右键直接 复制标签
在这里插入图片描述
在这里插入图片描述
Ctrl+C 结束
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再输入以便上面创建的代码之后
在这里插入图片描述
在这里插入图片描述

拷贝移动命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包压缩命令

在这里插入图片描述

  • cvf 打包
  • xvf 解包
  • zcvf 打压缩包
  • zxvf 解压缩包

把test文件打包
在这里插入图片描述
把test文件打包并压缩
在这里插入图片描述
对已有的包文件进行解压处理
把test.tar移到itcast目录下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文本编辑命令

在这里插入图片描述
在这里插入图片描述
中间有两个需要按y的地方
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一些准备工作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接敲vim HelloWorld.java
在这里插入图片描述
i 进行插入 输入如下
在这里插入图片描述
先进入命令模式:按 ESC键
再 按 :wq
退出之后 输入vim HelloWorld.java 回车
在这里插入图片描述
输入*/name*
在这里插入图片描述
标上行号
在这里插入图片描述
再输入 :q! 退出

查找命令

在这里插入图片描述
一些准备工作
在这里插入图片描述
在这里插入图片描述
验证
在这里插入图片描述
在这里插入图片描述
没有输入就是没有找到
在这里插入图片描述
在这里插入图片描述
一些准备工作
在这里插入图片描述
重新编辑该文件
i 输入如下内容 然后按ESC 再输入*:wq* 退出
在这里插入图片描述
在这里插入图片描述

————————————————————————————————————————

Linux软件安装

软件安装方式

在这里插入图片描述

安装jdk(采用二进制发布包安装)

在这里插入图片描述
步骤分解:
在这里插入图片描述
在这里插入图片描述
验证
在这里插入图片描述
在这里插入图片描述
回车后 按Shift+G快速回到文件末尾 后
在这里插入图片描述
在这里插入图片描述
安装完成!

安装Tomcat

在这里插入图片描述
步骤分解:1. 上传Tomcat压缩包
在这里插入图片描述
在这里插入图片描述
验证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入logs目录下
在这里插入图片描述
在这里插入图片描述
按空格 翻到最后 没有报错
在这里插入图片描述
输入:ps -ef | grep tomcat
在这里插入图片描述
此时在Window网页输入:ip:8080
在这里插入图片描述
原因跟防火墙相关
在这里插入图片描述
在这里插入图片描述
暂时关闭防火墙
在这里插入图片描述
即可访问到Linux的tomcat
在这里插入图片描述
在这里插入图片描述
为了保障系统安全,一般防火墙是不建议关闭的。
所以我们采取开放指定端口的方式
输入firewall-cmd --zone=public --add-port=8080/tcp --permanent(tomcat端口)
输入firewall-cmd --zone=public --add-port=3306/tcp --permanent(mysql端口)
在这里插入图片描述
开放后需要它生效
输入firewall-cmd --reload
在这里插入图片描述
关闭开放的指定端口
输入firewall-cmd --zone=public --remove-port=8080/tcp --permanent
输入firewall-cmd --reload生效

查看开放的端口号
输入firewall-cmd --zone=public --list-ports
在这里插入图片描述
在这里插入图片描述
运行脚本文件关闭(正常关闭)
在这里插入图片描述
结束Tomcat进程关闭(强制关闭)
在这里插入图片描述

安装MySQL

在这里插入图片描述
我用的是CentOS7 首先查询一下是否存在mariabd
输入rpm -qa | grep mariadb
在这里插入图片描述
说明有,会与MySQL冲突
所以我们需要先卸载mariadb后,再下载MySQL
在这里插入图片描述
输入rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
在这里插入图片描述
验证确实卸载成功了
在这里插入图片描述
在这里插入图片描述
采用FinalShell上传功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一定要按照顺序来!!!
1.输入rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
在这里插入图片描述
2.输入rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
在这里插入图片描述
3.输入rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
在这里插入图片描述
4.输入rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
在这里插入图片描述
5.输入rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
在这里插入图片描述
6.输入yum install net-tools
在这里插入图片描述
7.输入rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
在这里插入图片描述
再输入yum update更新后
在这里插入图片描述
输入systemctl status mysqld 查看mysql服务状态
在这里插入图片描述

输入systemctl start mysqld 启动mysql服务
在这里插入图片描述

输入systemctl enable mysqld 开机启动mysql服务(无报错就说明命令成功)在这里插入图片描述

输入netstat -tunlp | grep mysql 查看mysql是否启动
在这里插入图片描述

输入ps -ef | grep mysql 查看mysql进程
在这里插入图片描述
在这里插入图片描述
输入cat /var/log/mysqld.log | grep password 查找文件内容中包含password的行信息
在这里插入图片描述
在这里插入图片描述
修改密码:
输入 mysql -uroot -p 然后需要输入临时密码 直接粘贴就行
输入set global validate_password_length=6;
输入set global validate_password_policy=LOW;
输入set password = password('123456');
在这里插入图片描述

开启权限:
输入grant all on *.* to 'root'@'%' identified by '123456';
输入flush privileges; 刷新权限
在这里插入图片描述
退出尝试新密码
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
从外部连接

在这里插入图片描述

安装lrzsz(文件下载和上传的工具)

在这里插入图片描述
输入yum list lrzsz 搜索lrzsz安装包
在这里插入图片描述

输入yum install lrzsz.x86_64 在线安装
在这里插入图片描述
使用lrzsz
在这里插入图片描述

项目部署

手工部署项目

在这里插入图片描述
创建一个SpringBoot项目的第一个方法
HelloController

@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping("")
    public String hello(){
        System.out.println("hello world...");
        return "OK";
    }
}

application.yml

server:
  port: 8080

logging:
  level:
    com.itheima: debug

双击进行打包
在这里插入图片描述
打包完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上传后
在这里插入图片描述
输入 java -jar helloworld-0.0.1-SNAPSHOT.jar 回车
在这里插入图片描述
在这里插入图片描述
另开一个窗口 查看开放的端口号
输入firewall-cmd --zone=public --list-ports
在这里插入图片描述

在这里插入图片描述
输出了helloworld…
在这里插入图片描述
关闭终端(FinalShell)则访问不到
在这里插入图片描述
输入nohup java -jar helloworld-0.0.1-SNAPSHOT.jar &> hello.log &
在这里插入图片描述
后台运行
在这里插入图片描述
输入more hello.log
在这里插入图片描述
关闭终端还是可以运行的

在这里插入图片描述
输入ps -ef | grep 'java -jar'
在这里插入图片描述
输入kill -9 39320
在这里插入图片描述

通过Shell脚本自动部署项目(需要Git基础)

在这里插入图片描述
在这里插入图片描述
输入yum list git 列出git安装包
输入yum install git 再按回车 在线安装git
在这里插入图片描述
在这里插入图片描述
输入git clone https://gitee.com/clarayyy/helloworld.git
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
在这里插入图片描述
在这里插入图片描述
输入vim /etc/profile
i 输入

export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

按ESC 再*:wq* 再回车 保存退出
在这里插入图片描述
输入source /etc/profile 生效
在这里插入图片描述
配置完成后
在这里插入图片描述
i
输入<localRepository>/usr/local/repo</localRepository>
注意插入位置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
bootStart.sh

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=helloworld

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /usr/local/helloworld

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output='mvn clean package -Dmaven.test.skip=true'

cd target

echo 启动项目
nohup java -jar helloworld-0.0.1-SNAPSHOT.jar &> helloworld.log &
echo 项目启动完成

i插入 粘贴完之后 按ESC 再*:wq* 回车 保存退出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入chmod 777 bootStart.sh
在这里插入图片描述
执行./bootStart
在这里插入图片描述
查日志
输入find / -name helloworld.log 输出 /usr/local/helloworld/target/helloworld.log
more /usr/local/helloworld/target/helloworld.log
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入vim ifcfg-ens33 进入文件修改
在这里插入图片描述
ifcfg-ens33文件需要改动的内容 (要根据虚拟网络编辑器改动)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接成功即可。

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

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

相关文章

mysql索引字段设计

表字段数量与row大小限制可以参考官方文档 https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html#column-count-limits 复合索引 参考&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/innodb-limits.html 数量限制 一个复合索引最多可以包含16个列&…

微信小程序--自定义组件

组件的创建与引用 1.创建组件 在项目的根目录中&#xff0c;鼠标右键&#xff0c;创建 components -> test 文件夹 在新建的components -> test文件夹上&#xff0c;鼠标右键&#xff0c;点击“新建Component" 键入组件的名称之后回车&#xff0c;会自动生成组件对…

C语言进阶(9)——C语言文件操作

本章重点 为什么使用文件什么是文件文件的打开和关闭文件的顺序读写文件的随机读写文本文件和二进制文件文件读取结束的判定文件缓冲区 文章目录本章重点1.为什么使用文件2.什么是文件2.1程序文件2.2数据文件2.3文件名3.文件打开和关闭3.1 文件指针3.2文件的打开和关闭4. 文件…

【蓝桥杯嵌入式】第十一届蓝桥杯嵌入式省赛(第二场)程序设计试题及其题解

题目再现 题目分析 通过阅读本届试题可知&#xff0c;其功能比较单一&#xff0c;除了试题中常客——LED、LCD、按键三巨头外&#xff0c;还包含了定时器的PWM以及ADC读取这两个部分&#xff0c;考察的重点在于对定时器产生PWM的应用以及如何修改PWM的占空比&#xff0c;完全消…

MPU-6000(6050)介绍

MPU-6000&#xff08;6050&#xff09;简介MPU-60X0是全球首例9 轴运动处理传感器。它集成了3 轴MEMS陀螺仪&#xff0c;3 轴MEMS加速度计&#xff0c;以及一个可扩展的数字运动处理器DMP&#xff08;DigitalMotion Processor&#xff09;&#xff0c;可用I2C接口连接一个数字传…

react PureComponent

这个 其实和我之前写的文章react组件优化&#xff0c;当父组件数据变化与子组件无关时&#xff0c;控制子组件不重新渲染实现的东西是一样的 只是用了一种更简洁的方式 我们还是重新来一次 创建一个react项目 然后 创建一个子组件 我这里就直接叫 subset.jsx 参考代码如下 i…

ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION

核心 Adam: 一种基低阶矩的自适应估计的随机目标函数的一阶梯度优化算法&#xff0c;该方法实现简单**&#xff0c;计算效率高&#xff0c;内存需求很少**&#xff0c;对梯度的对角线重新缩放不变&#xff0c;并且非常适合于在数据或参数方面较大问题&#xff0c;该方法也适用…

ADI demo PS工程的编译-以adrv9371x_zc706为例子

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 ADI demo PS工程的编译-以adrv9371x_zc706为例子前言VITIS建工程总结前言 接《ADI demo PL工程的编译-以adrv9371x_zc706为例子之使用Cygwin》这篇。导出XSA文件&#xff0c…

VMware虚拟机搭建安装MacOS13及开发环境搭建

文章目录前言准备工作&#xff1a;安装虚拟机及MacOS系统1.安装VMware 虚拟机2. 运行解锁工具3. 安装macOS 134. 配置网络5. 安装VMware tools开发环境1. 安装xcode2. 安装HbuilderX前言 终于把macOS13虚拟机安装好了&#xff0c;比起上次安装macOS10,这次走了很多弯路。 先说…

108. 将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树 难度简单1214 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1&…

春节期间商城如何做好运营

有经验的商家都知道&#xff0c;春节对于店铺来说&#xff0c;这是一个全新的起点&#xff0c;所以商家们一定要抓住新年这个过渡期的时机。那么在春节期间的运营该如何做呢&#xff1f; 首先看看春节期间会有的几个问题&#xff1a; 推广竞争会比较小&#xff0c;在这个时间…

git使用日常问题记录【按日期频繁记录,欢迎收藏】

git系列文章 文章目录2023.1.14 将gitee仓库转移到github遇到的问题1-1 add到暂存区&#xff0c;commit到仓库之后&#xff0c;不想push了&#xff1f;&#xff1f;&#xff1f;1-2 git push大文件失败解决1-3 上传多余文件&#xff0c;如何从远端仓库中删除2023.1.151-1 githu…

销售管理系统 | 数据库课设

文章目录前言项目介绍E-R图表结构系统总体框架搭建项目环境介绍创建网站主页连接数据库注册功能登录功能管理员登录功能注销登录功能个人信息后台管理查看供应商名单删除功能修改功能登记货物信息功能购买商品功能总源码教训总结前言 为了期末的数据库课设&#xff0c;这是最初…

【C++】STL - Stack - Queue - PriorityQueue使用和模拟实现

&#x1f431;作者&#xff1a;傻响 &#x1f431;专栏&#xff1a;《数据结构_STL》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 栈 Stack介绍 模拟实现 队列 Queue介绍 常用的函数接口介绍 模拟实现 优先级队列 Priority…

【docker18】docker容器之CAdvisor+InfluxDB+Granfana

1.原生命令 1.1操作 命令&#xff1a; docke stats 1.2问题 通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU&#xff0c;内存以及网络流量控制等数据&#xff0c;一般的小公司够用了。 但是&#xff0c;docker stats统计结果只能是当前宿主机的全部容器&am…

669. 修剪二叉搜索树

669. 修剪二叉搜索树 难度中等 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没有被移除&#xff0c…

SourceTree使用方法总结

SourceTree使用方法总结 SourceTree使用总结 添加仓库 mac下从url克隆&#xff1a; windows下从url克隆&#xff1a; 抓取、获取分支信息 抓取&#xff08;mac下的名字&#xff09;获取&#xff08;Windows下的名字&#xff09;指获取服务端git库的变更信息&#xff0c;比如…

基于FPGA的UDP 通信(五)

引言 前文链接&#xff1a; 基于FPGA的UDP 通信&#xff08;一&#xff09; 基于FPGA的UDP 通信&#xff08;二&#xff09; 基于FPGA的UDP 通信&#xff08;三&#xff09; 基于FPGA的UDP 通信&#xff08;四&#xff09; 本文基于FPGA设计千兆以太网通信模块UDP数据发…

12.I/O复用

I/O复用 多进程方式跳过 基于I/O复用的服务器端 接下来讨论并发服务器实现方法的延伸。如果有读者已经跳过第10章和第11章&#xff0c;那就只需把本章内容当做并发服务器实现的第一种方法即可。将要讨论的内容中包含一部分与多进程服务器端的比较&#xff0c;跳过第10章和第…

Android WebView中H5调用Android原生方法

最近做项目&#xff0c;使用webView看一些网页&#xff0c;和网页开发一起找什么方法进行交互&#xff0c;还好解决&#xff0c;分享一下经验。 对于webView的使用就不写了&#xff0c;百度大法好&#xff0c;主要是交互方面&#xff0c;对WebView增加以下代码&#xff1a; bi…