目录

  • rpm 与 YUM
    • rpm 包的管理
      • rmp 包 查询 安装 卸载
      • yum
  • 安装 JDK
  • mysql 8.0 离线安装
    • Centos 7 忘记mysql的root密码
  • Shell 编程
    • shell 脚本执行方式
    • shell 变量
    • 设置环境变量
    • shell 程序位置参数变量(传参)
    • 预定义变量 --- 不多
    • 运算符、 流程控制(if,case,for ,while)
      • if
      • case
      • for
      • while
    • read 读取控制台输入 -- 程序交互
    • 函数
      • 系统函数 - basename (获取文件名)、dirname (获取文件路径)
      • ☆自定义函数
  • shell 编程案例--- 备份MySQL数据 -- 菜
  • python - hello world
  • 传送门

rpm 与 YUM

rpm 包的管理

.RPM 扩展文件 类似于 setup.exe

rmp 包 简单查询指令:
查询 已安装的rpm列表 rpm -qa | grep xxxx
rpm -qa | grep firefox 查看是否安装了火狐

rmp 包 查询 安装 卸载

rmp 包 简单查询指令:
查询安装过的所有rpm软件包 ; rpm -qa | more 即已安装程序
查询软件包是否 安装: rpm -q 软件包名
查询软件包信息: rpm -qi 软件包名
查询软件包中的文件:rpm -ql 软件包名 安装后的文件
查询文件所属的软件包: rpm -qf 文件全路径名

rmp -q firefox
rpm -qi firefox
rpm -ql firefox
rpm -qf /etc/passwd



删除 rpm 包 rpm -e rpm包名 (卸载软件)
rpm -e firefox 删除 firefox 软件包
安装 rpm 包 rpm -ivh RPM包全路径名称
i : install ; v ; verbose 提示 ; h : hash 进度条

yum

yum list | grep xxx 查看 yum 服务器是否有所需要安装的软件包,
yum install xxx 下载安装
yum install firefox

安装 JDK

1、将 .tar.gz安装包 mv/opt/jdk 目录 ; jdk 通过 mkdir 新建 ; opt 存放安装包
2、 cd 到 jdk 目录下,并解压 tar -zvxf jdkxxxx.zar.gz 解压 jdk 安装包
3.、将 解压后的文件夹 mv/usr/local/java ;类似于 windows 的 program; java 新建 ;
4、修改环境变量的配置文件 vim /etc/profile

在末尾添加:
export JAVA_HOME=/usr/local/java/jdk-16.0.1
export PATH=$JAVA_HOME/bin:$PATH $PATH必须,相当跟原PATH进行拼接

5、echo $PATH 查看环境变量 此时还未更新环境变量
6、source /etc/profile 刷新环境变量 必须

mysql 8.0 离线安装

1、选择此版本,链接点击这里 centos 7 版本;具体查找下载方法查看此视频

2、由于 centos 自带有类mysql数据库:MariaDB 会跟mysql冲突,要先删除

rpm -qa | grep mari 查看mariadb 相关安装包
rpm -e --nodeps xxxx 强制卸载相关安装包

3、将下载的安装包 .tar 移动mv/opt/mysql 目录下 ,并解压; mkdir 新建目录

tar -xvf mysql-xxxx.tar

4、 安装 rpm 包 具体版本根据自己调整

rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm --nodeps

5、启动 mysql 服务

systemctl start mysqld.service

6、mysql 自动给 root 用户 设置随机密码

grep "password" /var/log/mysqld.log 查看初始命令

7、 重设密码:

调整密码验证规则:否则设置密码简单无法通过校验
set global validate_password.policy=0;
set global validate_password.length=1;

alter user 'root'@'localhost' identified by '新密码';

Centos 7 忘记mysql的root密码

1、关闭mysql服务 service mysqld stop 停止
2、修改 mysql 的配置文件:vim /etc/my.cnf 添加 skip-grant-tables 设为无命令进入
3、启动服务 service mysqld start 启动
4、登录mysql mysql -u root -p 密码未空直接回车
5、选择设局库 use mysql;
6、flush privileges;
7、修改密码: ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

修改密码若提示:Your password does not satisfy the current policy requirements表示密码设置简单,则须调整密码验证规则
MySQL 8.0 调整密码验证规则:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;

8、退出 exit
9、关闭服务 service mysqld stop
10、重新进入my.cnf配置文件 vim /etc/my.cnf ,把之前添加的skip-grant-tables删除
至此 密码修改完毕。
开启服务并进入mysql

若无法启动mysql服务,通过查看日志 vim /var/log/mysqld.log 解决问题

Shell 编程

Shell : 命令解释器

shell 脚本执行方式

Shell 脚本
脚本要求:
1、以 !/bin/bash 开头
2、须有可执行权限chmod指令修改文本权限

1、vim hello.sh

2、chmod u+x hello.sh 增加用户可执行权限
3、./hello.sh 执行shell脚本 相对路径或绝对路径

执行脚本 sh hello.sh

cat hello.sh 查看脚本内容

shell 变量

运行shell时,会同时存在三种变量:

  1. 局部变量 局部变量 在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  2. 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  3. shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

Linux Shell 中的变量分为 :
使用 set 指令查看当前 shell 中的所有变量; echo $变量 查看变量内容

系统变量:如 $PATH,$HOME,$USER ,...........

自定义变量:

基本语法:
1、定义变量 :变量名=值 禁止加空格
2、撤销变量:unset 变量
3、声明静态变量:readonly变量,注意:静态变量无法使用unset
cat -n var.sh 显示按行显示脚本内容
在 vim 编辑器中 输入 nu 命令 可以显示 鼠标所在行的行号及内容

命令返回值赋给变量 两种方式:

设置环境变量

export 变量名=变量值 将 shell 变量 输出为环境变量/全局变量
source 配置文件 让修改后的配置信息立即生效
echo $变量名 查询环境变量的值

修改/opt/profile文件: 末尾添加: export TOMCAT=/opt/tomcat
source /etc/profile
echo $TOMCATecho "tomcat: $TOMCAT"

多行注释:
#!/bin/bash
:<<!
#多行注释
echo "hello"
echo "hello"
!

shell 程序位置参数变量(传参)


预定义变量 — 不多

运算符、 流程控制(if,case,for ,while)

expr \* , / , % ; 乘 除 取余 ** expr : expression **

if

if [ condition ] 中括号与条件判断式之间必须有空格
then codes
enif [ condition ]
then codes
fi


case

case $变量名 in
"value_1") codes
;;
"value_2") codes
;;
"*") 以上条件均不满足codes
;;
esac

for

# 离散量     $* 与 $@ 区别
for 变量  in value_1 value_2 value_3
docodes
done
# 范围量
for ((变量赋初值;循环条件;变量变化))    注意 for 循环条件表达式 与 while  循环条件表达式的区别
docodes
done



while

while [ condition ] 注意存在空格    中括号 使用 条件运算符 呢块
do codes
done

read 读取控制台输入 – 程序交互

read (选项) (参数)
-p 指定读取值时的提示符
-t 指定等待时间/秒

函数

系统函数 - basename (获取文件名)、dirname (获取文件路径)

basename : 返回完整路径最后 / 部分 , 常用于获取 文件名
basename pathname suffix ; suffix 为 后缀名
basename 命令会删除 pathname 字符串中 所有的前缀包括最后一个 / 字符,然后将字符串显示出来
若 suffix 被指定了,basename 会将 pathname 字符串中的 后缀 去掉

dirname : 返回完整路径最后 一个 / 的前面部分 , 常用于 返回文件路径 部分
dirname 文件绝对路径

☆自定义函数

shell 编程案例— 备份MySQL数据 – 菜


python - hello world

vim hello.py
python3 hello.py

传送门

【小白入门 通俗易懂】2021韩顺平 一周学会Linux

CentOS7忘记mysql的root密码_处理方法.

解决MySQL8.0报错:Unknown system variable 'validate_password_policy’

Job for mysqld.service failed because the control process exited with error

Linux:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cann

【报错】ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds t

完美解决 ERROR 1064 (42000): You have an error in your SQL…

shell 学习笔记1-什么是shell,shell变量
什么是环境变量,Linux环境变量及作用
☆Linux下的环境变量

Linux学习笔记 -- rpm 与 shell 编程相关推荐

  1. 【Linux】Linux学习(四)Shell编程

    Linux学习(四)Shell编程 Shell概述 Shell脚本入门 变量 系统预定义变量 自定义变量 特殊变量 运算符 条件判断 流程控制(重点) if判断 case语句 for循环 while循 ...

  2. 《Linux编程》学习笔记 ·003【Shell编程】

    注:前言.目录见 https://blog.csdn.net/qq_44220418/article/details/108428971 Tips:其实主要也就是把菜鸟教程上的shell编程教程过了一 ...

  3. linux学习笔记-rpm

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binary)以及源代码 ...

  4. Linux学习笔记四--Bash Shell

    查看某一命令是否是来自于外部命令还是内置于bash中:type [-tpa] name      也可用来查找命令,如:type -p touch 有/bin/touch:type -p vbird无 ...

  5. 【Linux学习笔记】 -- 基本Shell命令

    常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS) Linux的四个部分: 1 Linux内核:控制所有硬软件,必要时分配硬件根据需要执行软件 系 ...

  6. 写得蛮好的linux学习笔记五-认识SHELL(收藏)

    认识SHELL alias    显示当前所有的命令别名      alias lm="ls -al"   命令别名    unalias lm 取消命令别名 type      ...

  7. 【Linux学习笔记④】——Shell程序设计【变量 输入与输出 条件表达式 判断语句 循环语句 Shell函数】

    ⌛️ 文章目录 一.Shell 概述 二.Shell 脚本的定义与执行 2.1 Shell 脚本的定义 2.2 Shell 脚本的执行 三.Shell 变量 3.1 用户自定义变量 3.2 环境变量 ...

  8. Linux学习笔记(3)- 网络编程以及范例程序

    Linux学习笔记(3)- 网络编程以及范例程序 前言 网络介绍 IP地址的介绍 端口和端口号的介绍 通信流程 socket介绍 TCP介绍 python3编码转换 TCP客户端程序开发流程 多任务版 ...

  9. 史上最牛最强的linux学习笔记 10.shell基础

    史上最牛最强的linux学习笔记 10.shell基础 写在最前面: 本文是基于某站的视频学习所得,第一个链接如下: https://www.bilibili.com/video/BV1mW411i7 ...

最新文章

  1. java向量vector类,java数据结构——Vector(向量类)
  2. Android通过ShareSDK实现新浪微博分享
  3. 浅谈 UC 国际信息流推荐
  4. PAT甲级1111 Online Map (30分):[C++题解]两次dijkstra求单源最短路、保存路径、长度最短、时间最短
  5. c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组
  6. java jpa注解哪个包好,Spring Data JPA 中常用注解详解
  7. c#_导出table功能
  8. css简单的数学运算
  9. grpc java 泛型_关于使用GRPC遇到的BUG-Go语言中文社区
  10. Oracle修改数据时提示“record is locked by another user”的解决办法
  11. 并发减库存,怎么保证不超卖?
  12. kali暴力破解WiFi
  13. 电子发票专用的邮箱—理票侠
  14. Jzoj5424 凤凰院凶真
  15. mongodb类型转换
  16. html后代元素选择器,怎么使用html5中的后代选择器?后代选择器的用法详解!
  17. 5G通信呼啸而来,对未来WiFi覆盖有何影响?
  18. 自定义组合键进入u-boot
  19. ffmpeg学习笔记之创建音频解码器失败 avcodec_open2() 返回值为-22
  20. 小王的架构师之旅路----面试

热门文章

  1. 树磁盘[HBase] LSM树 VS B+树
  2. 父游标、子游标及共享游标
  3. SqlServer2008 数据库同步的两种方式(Sql JOB)
  4. Springboot构建Echarts数据可视化
  5. 乐玩自动化测试模块_深圳大数据测试培训推荐班
  6. python数据库操作批量sql执行_Python批量修改数据库执行Sql文件
  7. LinuxC语言のUDP简易聊天室 sokcet
  8. 图论最短路及生成树(Prim,Djikstra,Spfa,Bellan-ford,kruskal,topsort)
  9. ajax点击a load,jQuery:在ajax load()之后运行脚本
  10. [USACO12OPEN]Unlocking Block【BFS / 广搜】