LiangGaRy-学习笔记-Day11

1、课前回顾

1.1、脚本回顾讲解

题目:

  • 脚本实现搭建LAMP架构
  • 可以写一段,后试一段
  • 引入变量、函数、尝试增删改查
  • 手工执行一遍
[root@Node1 ~]# vim auto_lanmp.sh 
#!/bin/bash
#Author By LiangGaRy
#2023年5月7日
#Usage :
##############################
##关闭防火墙和Selinux
setenforce 0
iptables -F

#挂在光盘
mount /dev/cdrom /mnt/cdrom &> /dev/null

#更新软件包
yum upgrade &>/dev/null

#启动服务
systemctl start httpd
systemctl start mariadb

#判断是否存在wordpress的软件包
if [  ! -f /root/wordpress-4.9.4-zh_CN.tar.gz ];then
        echo  "请把wordpress包上传到/root目录下~!"
        exit 1
fi

#准备好发布的目录;
mv /root/wordpress-4.9.4-zh_CN.tar.gz /var/www/html
cd /var/www/html/
tar -xf wordpress-4.9.4-zh_CN.tar.gz

#设置数据库
mysql -e "drop database wordpress"
mysql -e "create database wordpress"
mysql -e "grant all privileges on wordpress.* to "wordpress"@"local" identified 
by 123456"
mysql -e "flush privileges"

#提示用户安装成功
echo "服务器端已经安装完毕"
IP=`ifconfig | grep inet | awk '{print $2} | head -1'`
echo “当前的IP是:$IPecho "请访问$IP/wp-admin 完成后续的配置"

2、su讲解

2.1、su 和su - 介绍

su命令:是切换了用户身份,并没有切换shell的环境,仍然是普通用户的shell

  • 意思就是切换用户,而实际上环境变量并没有改变

su - 是连带shell环境也是切换了;

  • 这个是直接把环境变量都已经切换过去;

2.2、su和su -实验说明

su和su - 最大的区别就是

  • su命令知识切换了用户身份,但是shell环境并没有改变
  • su - 切换了环境,用户身份完全切换了
#使用普通用户-->注意它的家目录就是liangjiawei
[liangjiawei@Node1 ~]$ pwd
/home/liangjiawei

#分别使用su 和su - 切换用户查看变化
	#su-->环境变量并没有改变
[liangjiawei@Node1 ~]$ su root
Password: 
[root@Node1 liangjiawei]# pwd
/home/liangjiawei
	#使用su - 切换 
[liangjiawei@Node1 ~]$ su - root
Password: 
Last login: Wed Jun  7 23:44:12 CST 2023 on pts/0
[root@Node1 ~]# pwd
/root

#如果shell环境没有切换,权限也会跟着有问题
	#创建一个脚本,并且赋予执行命令
[root@Node1 ~]# ll auto_lanmp.sh 
-rwxr-xr-x 1 root root 1147 Jun  7 18:59 auto_lanmp.sh
	#root用户是可以执行的
[root@Node1 ~]# ./auto_lanmp.sh 

3、PHP升级教程

3.1、php版本

查看php的版本:

#查看当前PHP的版本
[root@Node1 ~]# php -v
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

3.2、升级说明

php升级,用一个高版本替代低版本

  • 停止服务升级
  • 不停服务升级
#如果可以停止服务-->直接删除原来有的php版本
[root@Node1 ~]# yum remove php*

#查看一下当前yum源中php的版本
[root@Node1 ~]# yum search php

#更新yum源-->获取更加高版本的php源
[root@Node1 ~]# [root@Node1 ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

#安装yum工具
[root@Node1 ~]# yum -y install yum-utils

#启动remi-php72这个仓库源
[root@Node1 ~]# yum-config-manager --enable remi-php72

#然后再搜索一下php的版本
[root@Node1 ~]# yum search php*

#最后升级-->ok
[root@Node1 ~]# yum -y install php72*

4、压缩与解压缩

4.1、tar命令

作用:打包文件和压缩和解压缩文件;

语法:tar + 选项 + 打包名 + 需要打包的路径文件

选项:

  • -c :创建打包或者是压缩的文件文件
  • -x:提取文件
  • -v :压缩或者是解压缩显示详细的过程
  • -f:压缩或者是解压缩过程中指定文件
  • -t :列出压缩包中文件,不解包看到包里的内容
  • -C:解压缩过程中指定文件的位置
  • -d:记录文件差别
  • -z:支持gzip的解压缩
  • -j:支持bzip2解压缩
  • -Z:支持cmopress
  • -W:确认文件的正确性

tar命令演示

#压缩打包/etc/目录的内容
[root@Node1 ~]# tar -cvf etc.bak.tar.gz /etc/*
	#如果不想显示过程就可以去除-v选项
[root@Node1 ~]# tar -cf  etc01.bak.tar.gz /etc/*

#解压包,并且制定解压的路径
[root@Node1 ~]# mkdir test{1..10}
[root@Node1 ~]# tar -xf etc01.bak.tar.gz  -C /root/test1

#不解压包的情况下查看文件内容
[root@Node1 ~]# tar -tvf etc.bak.tar.gz 

#归档、压缩并且制定gzip的格式
[root@Node1 ~]# tar -zcvf etc.bak.tar.gz /etc/*

#归档、压缩并且制定bz2的格式
[root@Node1 ~]# tar -jcvf etc.bak.tar.bz2 /etc/*

#归档、压缩并且制定xz的格式
[root@Node1 ~]# tar -Jcvf etc.bak.tar.xz /etc/*

4.2、zip命令

作用:压缩文件为gz格式

语法:zip + 选项 + 压缩文件名 + 需要压缩的文件集合

选项:

  • -d:删除压缩文件内制定的内容
  • -j:只保存文件名称以及内容
  • -m:删除被压缩的源文件
  • -r:递归压缩

zip案例

#直接压缩制定的文件-->压缩当前目录下的东西-->源文件并没有删除
[root@Node1 ~]# zip all.zip ./*

4.3、unzip命令

作用:解压包zip的包

语法:unzip + 选线 + zip包

#解压包
[root@Node1 test2]# unzip all.zip

4.4、gzip命令

作用:压缩文件,后缀格式就是gz

语法:gzip + 选项 + 文件名

选项:

  • -l:列出压缩文件的相关信息
  • -v:显示指令执行过程
  • -r:递归处理
  • -d:解开压缩文件
#压缩-->源文件不见
[root@Node1 ~]# gzip php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo  

#解压缩
[root@Node1 ~]# gzip  -d php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.gz 

4.5、bzip2命令

作用:压缩和解压缩,后缀就是.bz2;

语法:bzip2 + 选项 + 文件名

选项:

  • -k:保留源文件压缩
  • -d:解压缩
#正常压缩-->源文件不保留;
[root@Node1 ~]# bzip2 php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo 

#解压缩
[root@Node1 ~]# bzip2 -d php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.bz2 

4.6、xz命令

作用:压缩和解压缩,生成的文件后缀就是.xz

语法:xz + 选项 + 文件

选项:

  • -k:保留源文件
  • -d:解压缩
#压缩
[root@Node1 ~]# xz php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo

#解压缩:
[root@Node1 ~]# xz -d php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.xz 

4.7、file命令

作用:查看文件的类型

语法:file + 文件名

#查看文件类型
[root@Node1 ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text

#查看目录类型
[root@Node1 ~]# file test3
test3: directory

#查看压缩包
[root@Node1 ~]# file php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.bz2 
php-common-7.4.6-4.1.al8.x86_64?spm=a2c6h.13651111.0.0.27d22f709g8Quo.bz2: bzip2 compressed data, block size = 900k
05-09 16:19