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是:$IP”
echo "请访问$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