自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 shell(2) -- SHELL变量

SHELL变量入门2. SHELL变量入门2.11.变量特性Shell是一种动态类型语言和弱类型语言,默认情况下,在bash Shell中不区分变量类型的,例如常见的变量类型为整数、字符串、小数等。2.变量类型变量分为两类: 环境变量(全局变量)和普通变量(局部变量)。示例#!/bin/bash # 定义变量x,并且赋值为123x=123# 变量x加1let "x += 1"# 输出变量x的值echo "x = $x"# 显示空行echo# 替换x中的1为abc, 并且

2022-03-10 23:11:42 814

原创 shell(1) -- SHELL入门

1.Shell入门目录1.Shell入门1.配置要求:2.SHELL脚本语言的分类范例1.1:2.shell脚本的建立3.shell脚本的执行4.shell编写规范5.shell特性bash基本功能6.通配符常用语法1.配置要求:OS:建议RHEL7或CentOS8CentOS8 于2021年底停止维护RHEL8 或者龙蜥操作系统 https://openanolis.cn2.SHELL脚本语言的分类Shell有两大类Shell,一类是Bourne shell,另一类是C shellBou

2022-03-10 16:13:25 1250

原创 Linux(1)-- HTTP

HTTP(Hyper Text Transform Protocol,超文本传输协议),是一个简单的请求-响应协议,运行在TCP之上,工作在应用层,服务端默认端口号为80,https端口号为443。1. 浏览器和服务器通信过程:http是基于B/S模式的,建立通信过程如下:1️⃣ TCP连接浏览器与服务器三次握手,建立 TCP 连接2️⃣ 客户端请求建立 TCP 连接后,客户端就会向服务器发送一个 HTTP 请求信息(比如请求 HTML 资源)3️⃣ 服务器响应服务器接收到请求后进行处理并发

2022-03-09 16:46:41 667

原创 ELK日志管理

ELK日志管理一、ELK简介ELK简介ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful

2022-03-09 15:28:47 573

原创 ansible部署

构建ansible学习环境1.硬件要求虚拟机:1G内存 20G硬盘2.软件OS:CentOs[root@localhost ansible]# hostnamectl set-hostname servera免密登录,分发密钥:1.ssh-keygen -t rsa 一路Enter生成密钥文件在~/.ssh/下2.ssh-copy-id [email protected] 分发密钥# ssh-keygen -f ~/.ssh/id_rsa -P '' -q批量分发:fo

2022-03-01 10:42:09 137

原创 Python08字符串对象

字符串对象字符串在Python中时基本数据类型:​ 单引号 双引号 三引号在Python中,字符创不仅仅是基本数据类型,也是一种对象>>> s = "hello">>> dir(s)['capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isa

2022-01-29 22:41:18 628

原创 Python07排序

排序算法为什么排序? 为了快速查找常见的查找和排序算法:排序:冒泡、选择、插入、希尔、快速、归并、堆排序、基数排序、计数排序…查找:二分查找1.冒泡排序(稳定)原理:找出最大数放后面5 8 1 -3 11 100 -55 99冒泡排序: 1、 5 1 -3 8 11 -55 99 100 2、 1 -3 5 8 -55 11 99 100 3、 -3 1 5 -55 8 11 99 100 4、 -3 1 -55 5 8 11 99 100 5、 -3 -55 1

2022-01-29 21:36:40 1148

原创 Python基础练习3(递归和容器)

作业1:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10, 8, 5, 3, 27, 99]ls = [10, 8, 5, 3, 27, 99]def get_coin(): count = 0 for i in ls: if i % 2 == 0: count += i // 2 else: count += i // 2 + 1 return countprint(get_coin())作业2:如果两个素数之差为2,这样的两个素数就叫作"孪生

2022-01-29 19:42:55 2024

原创 Python06-2容器

容器篇​ 变量这种存储单个数据的容器,也会提供光存储多个数据容器​ – 线性容器:具备顺序 数组(Array):连续内存 链表(List):Python list的容器,底层使用的就是双向链表结构 栈(Stack):先进后出 队列(Queue):先进先出 hash表:list:​ **列表:**是一种线性结构的容器,底层使用的是双向链表结构设计定义一个 list 容器:​ 利用若数据类型语言的特点,直接将[]这种列

2022-01-23 11:22:25 814

原创 Python06-1递归

递归(recursion):什么是递归? 函数自身调用自身案例:求0~100的和def get_count(n): """ 函数返回[0, n]的和 """ if n <= 0: return 0 return n + get_count(n-1)⏰ 注意:递归必须要存在终止条件,否则就是一个死循环,而且递归是自身调用自身在Java等编程语言,如果递归没有终止条件,或者递归的层数太深,则可能出现Stack Overflow错误,该错误表示栈溢出错误(栈的内容空间不够了)

2022-01-23 11:21:47 851

原创 Python基础练习2

作业1:输入数,判断这个数是否是质数(要求使用函数+for循环)def isPrime(num): flag = True for i in range(2, num): if num % i == 0: flag = False break if flag: print(f"{num}是质数") else: print(f"{num}不是质数")num = int(input("请输入您要判断的数:"))isPrime(num)作业2:要求50~150之间的质

2022-01-21 16:07:51 283

原创 Python05函数

函数函数是什么(What)?​ 函数(function):为了解决某一问题,或者某些问题具有名称的代码的集合。是 一种功能、行为动作为什么需要函数(Why)?​ 解决代码的重复问题Python如何定义函数:​ 关键 def #definedef 函数名称([参数列表]): # 函数体 # 如果需要返回值,则使用return关键字返回结果 # [return 函数返回值]如何调用函数​ 函数名称([实参列表])函数分类:​ 1.通过函数是否存在参数: 有参函数 无参函

2022-01-21 16:05:12 322

原创 Python基础练习

1:打印如下图案:# 打印一个菱形# *# ***# *****# *******# *********# *******# *****# ***# *layer = int(input("layer(奇数):"))while layer % 2 == 0: layer = int(input("抱歉,菱形的层数必须是奇数:"))index = 1# 上半部分layer_num = layer//2+1while

2022-01-17 21:53:10 517

原创 Python04程序控制

程序的控制流程程序的控制流程:控制语句之间的关联关系,实现逻辑性的顺序选择循环1.顺序结构:从上到下,从左到右执行流程2.选择结构:(1)单分支:if 条件: # 缩进体就是符合条件,需要执行的案例:age = int(input("请输入您的年龄:"))# 判断该用户是否成年if age >= 18: print("恭喜你,你成年了") print("aaa")注意:同一条件下的语句,空格和tab要统一(2)双分支:if 条件: # 条件成立时,要执行的

2022-01-15 22:39:37 250

原创 Python03常见的运算符

常见的运算符算术运算符运算符作用+加法运算-减法运算*乘法运算/除法运算%取模(求余数)//整除(只要整数部分),地板除法**幂次方……# 运算符练习a = 13b = 3num = a / bprint(num)关系(比较)运算符注意:返回结果是一个布尔值运算符作用><>=<===!=isis关键字比较两个变

2022-01-14 21:03:17 218

原创 Python02Python数据类型和类型转换

Python数据类型和类型转换Python中变量的类型是由值决定的,当值得类型发生变化时,变量的类型随之变化1️⃣基本数据类型​ (1)数值型:​ ①整数 int​ ②浮点数 float​ ③复数(虚数) complex​ (2)布尔类型: 真(True) 假(False)​ (3)字符串:单引号’ '、双引号" “、三引号”"" “”"​ (4)None2️⃣复合数据类型(引用、指针)​ (万物皆对象)字典、列表、元组、集合数据类型转换自动类型转换:布尔类型和数值型,可

2022-01-14 11:12:44 286

原创 Python01Python

Python基础Python开发环境:​ 记事本工具(学习初期)​ 集成开发环境(Integrated Development Environment):pycharm工具第一个Python程序>>> print("hello python,I coming!!!")hello python,I coming!!!注释单行注释: ‘ # ’#这是单行注释多行注释:(1)多个#模拟多行注释(2)三个引号:"""这是多行注释"""'''这是多行注释''

2022-01-14 11:11:46 80

原创 Tomcat日志分割

Tomcat日志分割修改后的tomcat都是按日保存日志文件,文件格式如:catalina.2011-11-07.out方法一:使用cronolog下载安装 cronologyum install -y http://rpmfind.net/linux/epel/7/x86_64/Packages/c/cronolog-1.6.2-14.el7.x86_64.rpm2.编辑./bin/catalina.sh替换下面的行(有两处,不过一般在 -security 中的那一行不需要去关注,不

2022-01-05 22:12:26 1317

原创 web服务基础+tomcat部署

1. 静态网页和动态网页的区别1.静态页面是请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面,在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS (前端功能实现)、CSS (样式)被称为静态页面。动态页面是请求响应信息,发给事务端进行处理,由服务端处理完成,将信息返回给客户端,生成的页面动态页面的URL后缀不是.html、.htm、.xml、.shtml、.js css 等静态网页的常见扩展名形式,而是.asp、.aspx、.php、.js、.do、.cgi等形式。2.静态

2022-01-04 19:02:11 619

原创 redis基础

1、redis应用场景1️⃣内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务2️⃣取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面3️⃣模拟类似于HttpSession这种需要设定过期时间的功能4️⃣发布、订阅消息系统5️⃣定时器、计数器2、redis的优点?1️⃣Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用2️⃣Redis不仅仅支持简单的key-value类型的数据,同时还提

2021-12-27 16:53:17 381

原创 MySQL主从复制+读写分离配置

MySQL练习8完成MySQL读写分离配置MySQL主从复制MySQL集群高可用架构MySQL+MHA架构MHA目前在Mysql高可用方案中应该也是比较成熟和常见的方案,它由日本人开发出来,在mysql故障切换过程中,MHA能做到快速自动切换操作,而且还能最大限度保持数据的一致性此架构特点:1、安装布署简单,不影响现有架构2、自动监控和故障转移3、保障数据一致性4、故障切换方式可使用手动或自动多向选择5、适应范围大(适用任何存储引擎)MySQL主从复制1、MySQL支持的复制类型

2021-12-26 23:48:52 589

原创 MySQL多表查询练习

MySQL多表查询练习创建student和score表CREATE TABLE student (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) ,birth YEAR,department VARCHAR(20) ,address VARCHAR(50) );创建score表。SQL代码如下:CREATE TABLE score (i

2021-12-12 15:57:43 388

原创 MySQL单表查询练习

MySQL单表查询练习素材如下:DROP TABLE IF EXISTS `course`;CREATE TABLE `course` ( `cs_id` int(11) NOT NULL COMMENT '课程编号', `cs_name` varchar(50) NOT NULL COMMENT '课程名称', `cs_credit` tinyint(255) unsigned DEFAULT NULL COMMENT '课程学分', `cs_type` char(12) DEFA

2021-12-12 11:52:56 179

原创 MySQL库表操作

MySQL库表操作1、使用源码安装MySQL 5.72、创建数据库school,字符集为utf83、在school数据库中创建Student和Score表4、授权用户tom,密码mysql,能够从任何地方登录并管理数据库school。5、使用mysql客户端登录服务器,重置root密码1、使用源码安装MySQL 5.7(1)安装依赖包[root@localhost ~]# yum install -y gcc gcc-c++ make cmake ncurses-devel bison-devel[

2021-12-12 00:57:59 254 1

原创 MySQL查询练习一

MySQL查询练习一CREATE TABLE stu (sid CHAR(6),sname VARCHAR(50),age INT,gender VARCHAR(50));INSERT INTO stu VALUES('S_1001', 'liuYi', 35, 'male');INSERT INTO stu VALUES('S_1002', 'chenEr', 15, 'female');INSERT INTO stu VALUES('S_1003', 'zhangSan', 95,

2021-12-11 17:26:31 73

原创 mysql安装登录

mysql安装及登录1、CentOS7 RPM方式安装MySQL5.72、CentOS7 通用二进制方式安装MySQL5.73、MySQL体系结构。4、使用mysql客户端登录服务器,重置root密码1、CentOS7 RPM方式安装MySQL5.7(1)在官网下载MySQL5.7的包,传到虚拟机(2)解包到/usr/local下[root@localhost ~]# mkdir /usr/local/mysql [root@localhost ~]# tar -xvf mysql-5.7.35

2021-12-10 19:02:14 705

原创 ansible练习(4)

题目:1.创建一个分区编写一个剧本位置在~/ansible/partition.yml,在所有主机上运行,需求如下:在vdb中,创建一个主分区,编号是1,大小1500MiB格式化成ext4文件系统,挂在到/newpart如果无法创建请求的分区大小,则应使用错误消息"Could not create partition of that size", 应该显示,而应该使用大小为800Mib的如果设备vdb不存在,则错误消息"Disk does not exist"应该显示2.创建并应用一个逻辑卷

2021-12-01 19:22:38 105

原创 ansible练习(3)

1、创建一个名为 locker.yml 的 ansible vault 文件存储用户密码:Vault 文件中包含两个变量:pw_developer: imadevpw_manager: imamgr加密此文件的密码为redhat此密码存放在:~/ansible/secret.txt(1)创建locker.yml的ansible vault文件[root@servera ansible]# ansible-vault create locker.yml(2)创建secret.txt存放密码

2021-11-30 14:48:40 94

原创 ansible练习(2)

ansible剧本练习题目:一、创建剧本config_nginx.yml。完成一下功能:安装nginx提供默认主页启动并开机自启服务。二、创建一个名为packages.yml的剧本在dev、prod和test主机组中安装php和mariadb软件包在dev主机组中安装Development Tools包组升级dev主机组中主机的所有软件包一、config_nginx.yml清单文件[root@servera ansible]# vim config_nginx.yml--

2021-11-25 21:42:04 1459

原创 ansible练习1

一、构建学习环境:student用户在控制节点(workstation)上安装并配置 Ansible, 要求如下 :1、安装所需的软件包2、创建静态inventory文件/home/student/ansible/inventory,要求如下:servera属于dev主机组serverb属于test和balancers主机组serverc和serverd属于prod主机组prod主机组属于webservers主机组3、创建ansible配置文件/home/student/ansible/an

2021-11-23 16:58:43 102

原创 Ansible课堂环境+部署

环境使用配置远程管理windows 仅主机(vmnet1)网卡增加IP:172.25.254.1/255.255.255.0服务器IP:172.25.254.250Xshell连接 ssh [email protected]密码:redhat开始练习环境设置课程:清除课程:[kiosk@foundation0 ~]$ rht-clearcourse 0设置课程:[kiosk@foundation0 ~]$ rht-setcourse rh294启用环境:启用clas

2021-11-23 16:58:12 1172

原创 Shell作业4

Shell作业4使用case实现成绩优良中差的判断for创建20用户用户前缀由用户输入用户初始密码由用户输入例如:test01,test10for ping测试指网段的主机网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 — 192.168.2.20UP: /tmp/host_up.txtDown: /tmp/host_down.txt使用for实现批量主机root密码的修改成功或失败都必须记录提示:主机IP存放在一个文件中SSH:实现公钥认

2021-11-01 00:59:26 284

原创 SHELL作业3

SHELL作业31、ping主机测试2、判断一个用户是否存在3、判断当前内核主版本是否为3,且次版本是否大于104、判断vsftpd软件包是否安装,如果没有则自动安装5、判断httpd是否运行6、判断指定的主机是否能ping通,必须使用$1变量7、报警脚本,要求如下:根分区剩余空间小于20%内存已用空间大于80%向用户alice发送告警邮件配合crond每5分钟检查一次[root@locaklhost ~]# echo “邮件正文” | mail -s “邮件主题” alice8、

2021-10-28 22:05:15 133

原创 SHELL作业2

作业21、取出/etc/inittab文件的第6行;2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;使用cut、sort结合管道实现3、如果/var/log/messages文件的行数大于100,就显示好大的文件4、显示/etc目录下所有以pa开头的文件,并统计其个数5、如果用户hadoop不存在就添加,否则显示用户已存在6、编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息7、编写一个 Sh

2021-10-26 21:35:07 613

原创 SHELL作业1

作业11、安装JDK及配置环境变量。2、Shell脚本中,$0 $1 $$ $* $?分别代表了什么意思?3、写一个脚本:显示出当前的脚本文件名和当前的系统时间。4、已知目录/scripts目录,执行batch.sh脚本,实现在/scripts目录下创建一个one.txt,在one.txt文件中增加内容“Hello Shell”。1.安装JDK及配置环境变量。将jdk压缩包下载到linux虚拟机中[root@localhost ~]# tar xf /super/jdk-8u60-li

2021-10-26 16:40:01 136

原创 VLAN实验

实验要求:PC1和PC3所在接口为access;属于vlan2PC2/4/5/6处于同一网段,其中PC2可以访问PC4/5/6;但PC4可以访问PC5,不能访问PC6PC5不能访问PC6PC1/3与PC2/4/5/6不再同一个网段所有PC通过DHCP获取IP地址,且PC1/3可以正常访问PC2/4/5/6根据题目和拓扑图,该拓扑图共有两个广播域,根据要求,划分vlan 2/3/4/5,最后通过DHCP给vlan2分配192.168.1.0的网段,其余分配192.168.2.0的网段。根据要

2021-10-17 17:57:06 61

原创 BGP总结(2)

BGP的丰富的属性公认必遵的属性标识路由起源:3种Origin属性优先级:i > e > Incomplete(?)(1)i 即IGP,表示BGP路由通过network命令注入(2)e即EGP,表示BGP路由从EGP学来的(3)?即Incomplete,表示BGP路由通过其他方式学到的路由信息,如使用import命令引入的路由AS_Path:列出路由在传递过程中经过的AS序列Next_hop:声明路由器所获得的BGP路由的下一跳,对EBGP会话来说,下一跳就是通告该路由的邻居路由

2021-10-14 17:00:02 377

原创 BGP实验

实验要求:基于BGP和OSPF的环境AR3只能学两条AR1的环回AR2只能学一条AR1的环回全网可达

2021-10-12 19:48:41 45

原创 BGP总结(1)

BGP动态路由协议划分​ 算法:​ ①距离矢量型(RIP、EIGRP(收敛最快)、BGP):传递的是路由表(路径信息)​ ②链路状态型(OSPF、ISIS):传递的是链路状态信息(拓扑图)​ ③路径矢量(BGP)范围 AS​ IGP(内部网关协议)​ EGP(边界网关协议)BGPBGP 以AS号(1-65535、64512-65525为私有AS)区分 (2^16为扩展的,解决AS号的不足)特点:可以跨跳建立邻居强调路由传递控制的一种协议(控制:①路由学习选择性②选路的控制)

2021-10-10 20:04:33 144

原创 OSPF大综合实验

题目要求:(每条黑长条表示有一个环回接口)1.划分网段,配置IP[R1]int g 0/0/0[R1-GigabitEthernet0/0/0]ip add 172.16.32.1 29[R1-GigabitEthernet0/0/0]int l0[R1-LoopBack0]ip add 172.16.32.9 29[R2]int g 0/0/0[R2-GigabitEthernet0/0/0]ip add 172.16.32.2 29[R2-GigabitEthernet0/0/0]i

2021-10-08 23:20:27 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除