Linux学习笔记 -- rpm 与 shell 编程

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
do
	codes
done 
# 范围量
for ((变量赋初值;循环条件;变量变化))    注意 for 循环条件表达式 与 while  循环条件表达式的区别
do
	codes
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下的环境变量

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值