LiangGaRy-学习笔记-Day11
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 ];thenecho "请把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
相关文章:

LiangGaRy-学习笔记-Day11
LiangGaRy-学习笔记-Day11 1、课前回顾 1.1、脚本回顾讲解 题目: 脚本实现搭建LAMP架构可以写一段,后试一段引入变量、函数、尝试增删改查手工执行一遍 [rootNode1 ~]# vim auto_lanmp.sh #!/bin/bash #Author By LiangGaRy #2023年5月7日 #Usage …...

【异常解决】浏览器无法访问此网站ERR_UNSAFE_PORT/网页可能无法连接,或者它已永久性地移动到了新网址问题解决方案
浏览器无法访问此网站ERR_UNSAFE_PORT问题解决方案 一、问题描述二、问题原因三、解决方案3.1 方案1修改服务器访问端口号(推荐)3.2 方案2修改浏览器设置3.2.1 Chrome浏览器3.2.2 Firefox浏览器3.2.3 Edge浏览器 一、问题描述 访问某一个特定的网址之后…...

Python函数的参数
定义一个函数非常简单,但是怎么定义一个函数,需要什么参数,怎么去调用却是我们需要去思考的问题。 如同大多数语言一样(如 Java),Python 也提供了多种参数的设定(如:默认值参数、关…...

【Hive大数据】Hive分区表与分桶表使用详解
目录 一、分区概念产生背景 二、分区表特点 三、分区表类型 3.1 单分区 3.2 多分区 四、动态分区与静态分区 4.1 静态分区【静态加载】 4.1.1 操作演示 4.2 多重分区 4.2.1 操作演示 4.3 分区数据动态加载 4.3.1 分区表数据加载 -- 动态分区 4.3.2 操作演示 五、…...

C#NPOI操作Excel详解
C# NPOI 是一个基于 .NET Framework 的 Excel 和 Word 操作库。它不仅可以读取和写入 Excel 和 Word 文件,还可以对 Excel 和 Word 文件进行格式化和样式编辑,支持多种常见的文件格式,如XLS,XLSX等。本篇文章将针对C# NPOI操作Exc…...

CSS中文字体 Unicode 编码表
一、简介 CSS(层叠样式表)是用于样式化Web页面的强大工具,它可以用来控制页面的外观和行为。在CSS中,可以使用多种字体来设置文本的外观和格式,包括中文字体。中文字体的实现需要引入相应的字体文件,并且需…...

《微服务实战》 第四章 Spring Cloud Netflix 之 Eureka
前言 Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。 Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置,开发人员只需要引入相关依赖和注解,就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。 1、Eureka 两大组…...

11. 深入理解并发编程-AQS与JMM
AQS (AbstractQueuedSynchronizer) 他的实现类诸如: CountDownLatch、ThreadLocalPool和ReentrantLock 在这些类中,AQS都是以内部类的形式存在的 AQS使用了模板方法设计模式 例子: 做蛋糕分为3个步骤,定一个抽象类,重写3个方法,做模型、烘焙和涂抹原料,然后在另外1个方法做蛋糕…...

深度解耦:使用Jetpack新技术Hilt实现依赖注入
注入解耦是一种软件设计模式,旨在将应用程序的不同组件解耦。通过采用依赖注入、控制反转、面向接口编程等技术,注入解耦模式可以帮助开发人员将应用程序分解为可重用和可扩展的组件。这样做可以减少代码的耦合度,提高模块化和可测试性&#…...

C++ 构造函数-2
构造函数-2 构造函数体赋值 在对象创建的时候,编译器会调用构造函数,给对象当中的成员赋一个合适的初始值。 class Date { public: Date(int year, int month, int day) { _year year; _month month; _day day; } private: int _year; int _month; i…...

网安笔记 08 key management
Key Management —— 不考 网络加密方法 1.1 链路加密 特点: 两个相邻点之间数据进行加密保护 不同节点对密码机和Key不一定同中间节点上,先解密后加密报文报头可一起加密节点内部,消息以明文存在密钥分配困难保密及需求数量大 缺点&…...

Linux socket
百度百科对于Socket的介绍 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信…...

14.构造器的排序分组.子查询
学习要点: 1.排序分组 2.子查询 本节课我们来开始学习数据库的构造器查询中的子查询、排序、分组等。 一.排序分组 1. 使用 whereColumn()方法实现两个字段相等的查询结果; //判断两个相等的字段,同样支持 orWhereColumn() //支持…...

【剑指 Offer】05,替换字符创中的空格;难度等级:简单。易错点:C++中 char 和 string 类型的转换
【剑指 Offer】05,替换字符创中的空格;难度等级:简单。 文章目录 一、题目二、题目背景三、我的解答四、易错点五、知识点:char 和 string 类型的转换 一、题目 二、题目背景 在网络编程中,如果 URL 参数中含有特殊字…...

图像分割入门教程
文章目录 图像分割入门教程1. 图像分割基本概念2. 基于阈值的图像分割3. 基于区域的图像分割4. 基于边缘的图像分割5. 基于区域和边缘的图像分割区别6. 基于深度学习的图像分割7. 实现步骤结论 图像分割入门教程 图像分割是计算机视觉领域的一个重要任务,其目标是将…...

C++入门教程||C++ 信号处理||C++ 多线程
C 信号处理 C 信号处理 信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 CtrlC 产生中断。 有些信号不能被程序捕获,但是下表所列信号可以在程序中捕获,并可以基于…...

java计算矩形的面积和周长的方法
在生活中,我们常常需要计算某个矩形的面积和周长,如我们经常用的计算器就是个不错的选择,它可以计算出任意一个矩形的面积和周长。那么,如果你想使用 Java编程语言来计算矩形的面积和周长,你该如何做呢?今天…...

一分钟掌握如何更换Jupyter Notebook的主题和字体
Jupyter Notebook 更换主题(背景、字体) 在现代科技发展的浪潮中,Jupyter Notebook 作为一种强大的交互式笔记工具,已经被越来越多的用户所使用。它以其简单易用、功能强大、资源丰富等特点,成为了许多人学习、工作、科…...

如何系统全面的自学自动化测试?明确后我直接拿到了20K
玩自动化测试多年的老司机带你上车全面系统学习自动化测试,并且还能教你如何学习才能在今年拿到一份不错的offer。 说到系统全面,就是以目前绝大部分公司招聘要求的知识内容为基准,毕竟我们学习自动化测试都是为了高薪工作,《史记…...

【搭建私有云盘】无公网IP,在外远程访问本地微力同步
文章目录 1.前言2. 微力同步网站搭建2.1 微力同步下载和安装2.2 微力同步网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 私有云盘作为云存储概念的延伸,虽然谈不上多么新颖,但是其…...

Pytest自动化测试框架一些常见的插件
Pytest拥有丰富的插件架构,超过800个以上的外部插件和活跃的社区,在PyPI项目中以“ pytest- *”为标识。 本篇将列举github标星超过两百的一些插件进行实战演示。 插件库地址:http://plugincompat.herokuapp.com/ 1、pytest-htmlÿ…...

【力扣】刷题+剑指offer第二版
文章目录 题目收藏不含重复字符的最长子串最长公共子串 剑指 Offer剑指 Offer 05. 替换空格剑指 Offer 03. 数组中重复的数字剑指 Offer 04. 二维数组中的查找剑指 Offer 09. 用两个栈实现队列剑指 Offer 07. 重建二叉树剑指 Offer 06. 从尾到头打印链表剑指 Offer 11. 旋转数组…...

QueryStorm Crack
QueryStorm Crack 应用程序现在可以指定“minRuntimeVersion”。 添加了用于节流和API密钥管理的HTTP请求基础结构(请求/尝试/重试循环)。 改进了许可提示的处理(避免在多个单元格中评估许可功能时出现多个提示)。 已添加“IDialogServiceExt”接口,该接口允许应用程…...

网络安全与隐私保护:挑战与应对策略
一、引言 在互联网时代,个人隐私保护已经成为一项全球性的难题。尤其是在“裸奔”时代下,人们越来越难以避免个人隐私泄露的风险。网络安全与隐私保护已经成为了人们关注的焦点。保护网络隐私已经成为了每个人最基本的权利和义务。 二、网络安全与隐私…...

不同应用场景瑞芯微RK3568主板方案定制
随着物联网和智能设备的迅猛发展,瑞芯微RK3568主板方案作为一种高性能的系统System-on-a-chip(SoC),已经成为嵌入式系统、智能家居设备和工业自动化设备等应用场景的首选方案。定制瑞芯微RK3568主板方案可以满足不同应用场景的需求…...

公司数字化转型,如何选择高效的知识管理工具?
随着企业数字化转型的加速,知识管理工具的重要性也日益凸显。好的知识管理工具可以帮助企业提高工作效率、降低成本、提高创新能力和竞争力。但是,市场上的知识管理工具繁多,如何选择高效的知识管理工具成为了企业面临的一大难题。本文将从以…...

银行从业法律法规(初级)-多选
目录 前言一、巴塞尔相关1-1 第一版巴塞尔1-2 第二版巴塞尔1-3 第三版巴塞尔 二、银行2-0 银行相关2-1 中国人民银行2-2 国家开发银行2-3 政策性银行2-4 银保监会2-5 银监会 三、合规&风险3-1合规3-2 风险3-3 资产负债管理 四、货币&财政4-1 货币4-2 利率 五、存款贷款…...

Maven 依赖管理 学习
目录 Maven 依赖管理 可传递性依赖发现 依赖范围 依赖管理 Maven 自动化部署 问题描述 解决方案 修改项目的 pom.xml Maven Release 插件 Maven Web 应用 创建 Web 应用 构建 Web 应用 部署 Web 应用 Maven 依赖管理 Maven 一个核心的特性就是依赖管理。当我们处…...

分享105个NET源码ASP源码,总有一款适合您
分享105个NET源码,总有一款适合您 源码下载链接:https://pan.baidu.com/s/1zFMIHX6juXdR2CaHMEr5mQ?pwdf5hz 提取码:f5hz 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后…...

Web缓存利用分析(三)
导语:前一篇文章介绍了Server Cache Poisoning在实际应用场景下,产生DOS攻击的利用方式。本篇文章则介绍Web Cache Deception在真实场景下的应用方式和测试情况。 前言 前一篇文章介绍了Server Cache Poisoning在实际应用场景下,产生DOS攻击…...