自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刚从Notion笔记搬家,保持更新

种一棵树最好的时间是十年前,其次是现在

  • 博客(47)
  • 收藏
  • 关注

原创 B站小甲鱼-杨辉三角形详解

杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的。而后南宋数学家杨辉在《详解九章算法》一书中记载并保存了“贾宪三角形“。因此,贾宪三角形又被称为杨辉三角形。 杨辉三角形的构成如下面动图所示:从上面的动图我们可以得出一个道公式:杨辉三角形第 i 行 j 列的值 = 第(i-1)行(j-1)列的值 + 第(i-1)行(j)列的值  Python实现代码:# 初始化杨辉三角形# 创建一个10*10的二维列表,并将所有的.

2021-02-19 22:20:40 1389

原创 B站小甲鱼-模拟抛硬币实验

抛硬币v1.0# 导入随机模块 #import random# 接收用户输入并将数值赋值给 counts 变量 #counts = int(input("请输入实验次数:"))i = 0print("开始抛硬币实验:")while i < counts: # 生成一个随机数num # num = random.randint(1,100) if num % 2: # 打印结果 # print("反面") else.

2021-02-19 15:35:44 843 1

原创 shell脚本编程进阶(练习)

for循环1、判断/var/目录下所有的文件的类型#!/bin/bashfor file in $(find /var/ -maxdepth 1);do if [ -b $file ];then echo "$file是块设备" elif [ -c $file ];then echo "$file是字符设备" elif [ -f $file ];then echo "$file是普通文件" elif [ -L $file ];then echo "$file是符号链接文件"..

2021-02-18 11:24:29 510 1

原创 shell脚本编程基础(练习)

shell编程脚本1、编写脚本systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小#!/bin/bashCOLOR="\033[32m"COLOREND="\033[0m"echo -e "The hostname is $COLOR `hostname` $COLOREND"echo -e "IPv4 address is $COLOR `ifconfig ens33|egrep -o '[0-9.]{7,15}'|.

2021-02-17 23:36:25 547

原创 正则表达式(练习)

1、显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)grep "^\(s\|S\)" /proc/meminfo或:grep "^[sS].*" /proc/meminfo2、显示/etc/passwd文件中不以/bin/bash结尾的行grep -v "/bin/bash$" /etc/passwd3、显示用户rpc默认的shell程序grep -w rpc /etc/passwd|cut -d: -f74、找出/etc/passwd中的两位或三位数cat

2021-02-17 23:20:24 230

原创 用户组管理和权限管理+文件的特殊权限(练习)

用户组管理和权限管理1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为“Gentoo Distribution”useradd -G bin,root -c "Gentoo Distribution" -s /bin/csh gentoo2、创建下面的用户、组和组成员关系名字为webs的组groupadd webs用户将nginx,使用webs作为附加组useradd -G webs nginx用户varnish,使用webs作为附加组user.

2021-02-17 23:14:19 154

原创 通配符+管道实现重定向(练习)

通配符1、显示/var目录下所有以L开头,以一个小字母结尾,且中间出现至少一位数字的文件或目录ls /var/l*[[:digit:]]*[[:lower:]]2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录ls -d /etc/[[:digit:]]*[^[:digit:]]或:ll /etc/[0-9]*[^0-9]3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录ls -a /etc/[^a-Z][a-Z]*或:ls -a .

2021-02-17 22:55:21 204

原创 B站小甲鱼-迭代与递归写十进制转换为二进制的函数

具体做法:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。   迭代实现:def Dec2Bin(dec): temp = [] result = '' while dec: yu = dec % .

2021-02-16 12:57:55 225

原创 B站小甲鱼-Python汉诺塔详解

汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。   Python实现代码:def hanoi(n,x,y,z): if n == 1: return (x,'-->',z) else.

2021-02-15 23:28:57 438 1

原创 建立私有CA为用户颁发证书

1️⃣建立CACA服务器端:进入cd /etc/pki/CA,生成私钥:(umask 077;openssl genrsa -out private/cakey.pem 4096)生成成功:生成自签名证书(-x509:表示自签名证书):openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365生成成功:查看证书内容:openssl x509 -in cac

2021-02-14 11:22:38 335

原创 网卡模块卸载恢复

rmmod、insmod、modprobe命令可以向Linux内核移除、插入模块,modprobe同时支持移除和插入功能 1️⃣ethtool -i ens33查看网卡模块名 2️⃣lsmod | grep e1000确定模块是否加载到内核中 3️⃣modinfo e1000可查看模块信息 4️⃣modprobe -e e1000或rmmod e1000移除模块(ssh远程会断网,需要本端登录) 5️⃣恢复操作重新激活网卡(模块

2021-02-14 11:13:00 504

原创 rm -rf boot后进行恢复

1️⃣删除/boot重启进入操作系统将失败将显示: 2️⃣重启进入BIOS选择光盘救援模式 3️⃣输入1选回车进入shell 4️⃣切根 chroot /mnt/sysimage 5️⃣重新安装grub2 6️⃣挂载光盘并重装内核以生成kernel和ramdisk文件 7️⃣重新生成grub.cfg文件 8️⃣最后exit两次就能重启完成系统的恢复 完整参考:...

2021-02-14 11:01:21 150

原创 基于CentOS6加grub口令

基于CentOS6加grub口令vim /boot/grub/grub.conf 一般多用以下方式进行加密: 生成md5密码串方式:(1)openssl回车后输入md5回车,输入要加密的字符串(不能回车),直接按C+d三次即可生成加密后的字符串 (2)echo -n 要加密字符串|md5sum 即可生成,-n是必须的,不然生成的是带回车的密文 如果忘记grub密码:1️⃣进入光盘救援模式的shell下2️⃣切根3️⃣vim /boo

2021-02-14 10:57:23 109

原创 基于CentOS6自定义linux系统

1️⃣虚拟机上给CentOS6系统新增一个硬盘sdb 2️⃣分区并制作ext4文件系统 3️⃣创建/mnt/boot并将sdb1挂载上,因为grub二阶段需在/boot下进行grub-install --root-directory=/mnt /dev/sdb 4️⃣复制/boot下的vmlinuz和initramfs文件到/mnt/boot/下,/mnt/boot/grub/下缺少grub.conf文件,从/boot/grub/下复制或vim创建一个

2021-02-14 10:49:58 150

原创 同时删除/boot和/etc/fstab恢复

基于分区: 基于逻辑卷:

2021-02-14 10:32:43 123

原创 脚本/root/bin/copycmd.sh

????编写脚本/root/bin/copycmd.sh (1)提示用户输入一个可执行命令名称(2)获取此命令所依赖到的所有库文件列表(3)复制命令至某目标目录(例如/mnt/sysroot)下的对应路径下如:/bin/bash ==> /mnt/sysroot/bin/bash    /usr/bin/passwd ==> /mnt/sysroot/usr/bin/passwd(4)复制此命令依赖到的所有库文件至目标目录下的对应路径下:如:/lib64/ld-linu

2021-02-14 10:17:35 277

原创 CentOS6初始化文件initramfs恢复

initramfs文件存放有系统驱动文件 1️⃣initramfs丢失后,系统黑屏无法启动 2️⃣重启进入光盘救援模式 3️⃣initramfs文件是一个压缩的cpio文件 4️⃣可用mkinitrd或dracut命令直接生成文件mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)=dracut /boot/initramfs-$(uname -r).img $(uname -r) 

2021-02-14 10:14:10 470

原创 CentOS6内核文件vmlinuz恢复

CentOS6内核文件vmlinuz恢复用diff和md5sum对比/boot/vmlinuz-2.6.32-696.e16.x86_64和/misc/cd/isolinux/vmlinuz文件,可发现其为相同文件 1️⃣vmlinuz丢失后,重启将显示如下提示: 2️⃣进入光盘救援模式(默认)… 3️⃣可在/mnt/sysimage/boot下看到没有vmlinuz(丢失) 4️⃣只能从光盘中恢复,首先挂载光盘 5️⃣在

2021-02-10 12:04:53 319

原创 一些链接

????拆除pv对应的磁盘https://www.cnblogs.com/pipci/p/11477148.html

2021-02-10 11:55:22 135

原创 迁移/home到新分区

建议操作前进入维护模式避免其他用户在操作状态进入维护状态 init 1 1️⃣ 新建2G分区/dev/sdb2,对/dev/sdb2创建xfs文件系统[root@centos7 16:31:27 ~]#mkfs.xfs -f /dev/sdb2meta-data=/dev/sdb2 isize=512 agcount=4, agsize=131072 blks = sectsz=512 at

2021-02-10 11:49:02 352

原创 /etc/fstab文件系统检查非0修复

/etc/fstab中,最后一个0表示开机是否fsck自检,0表示不自检,1表示最先自检,2和其他数字表示后自检#UUID将0改为3UUID=b479a7ea-98fd-42ce-a921-65c77ffb1f340 /test ext4 defaults 0 3 重启后无法正常启动,进入将错误UUID修正或3改成0启动过程出现下面的提示:Give root password for maintenance(or type Control-D to continue):键入密码后进

2021-02-10 11:44:59 489

原创 增加一个swap分区或文件

1️⃣ 新增一个4G分区并修改其类型为82(swap)分区时用L可查看分区类型:fdisk /dev/sdb1 t 82 2️⃣ 永久挂载,将配置写入/etc/fstab 3️⃣ 使用swap(可在/etc/fstab里设置优先级 defaults改为pri=N 使优先使用sdb1的swap) 4️⃣ 添加文件作为swap[root@centos7 13:56:37 ~]#dd if=/dev/zero of=/swapfile bs=1M count

2021-02-10 11:38:32 170

原创 划分分区,创建文件系统和挂载

1️⃣ 虚拟机新增一块硬盘,fdisk -l查看新增硬盘是否已识别 2️⃣ 创建主分区[root@centos7 13:34:34 ~]#fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does

2021-02-10 11:19:12 130

原创 硬盘分区表的备份和还原

0磁道的0扇区512字节包含主引导程序占446字节主分区表占64字节和结束位55aa(2字节) 1️⃣ 16进制下查看分区表前512字节[root@centos7 10:51:00 ~]#hexdump -C -n 512 /dev/sdb00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|*000001b0 00 00 00 00 00 00 00 00 41 0a .

2021-02-10 10:51:29 532

原创 cmatrix滚动矩阵

cmatrix 滚动矩阵 注:很多网络链接无法下载,故建议下载到电脑进行导入实验https://pan.baidu.com/s/1htoyubD9jXhPqNbDyj5hcw提取码:e06k#将包下载下来后先进行解包tar zxvf cmatrix-1.2a.tar.gz#进入解包目录下cd cmatrix-1.2a#指定安装路径./configure --prefix=/apps/cmatrix#开始编译makemake install 可定义颜

2021-02-10 10:26:56 151

原创 基于http协议配置yum源

1️⃣关闭强访问控制 selinuxSELINUX=disabled 2️⃣关闭防火墙centos7:systemctl disabled firewalld 或 service iptables stopcentos6:chkconfig iptabled off 3️⃣在http服务器上配置如下#安装http服务yum install httpd -y#开启服务systemctl start httpd#进到网页目录下创建文件cd /var/www/htm

2021-02-10 10:21:42 269

原创 N43-第二十一周作业

第二十一周作业????????????配置nginx反向代理,实现api.x.com域名代理本地9001端口 ????????????配置nginx反向代理,实现api.x.com域名代理本地9001端口1️⃣安装nginx下载:http://nginx.org/en/download.html解压安装包:tar xf nginx-1.16.1.tar.gz创建系统用户并指定家目录:useradd -r -s /sbin/nologin nginx安装依赖:yum install

2021-02-10 10:05:35 180

原创 N43-第二十周作业

第二十周作业一、编译安装LNMP,并安装wordpress二、配置虚拟主机,www.x.com域名实现首页访问,admin.x.com域名实现wordpress的后台访问 一、编译安装LNMP,并安装wordpress 1️⃣lnmp环境分为4部分,linux、nginx、mysql和php 2️⃣编译安装mariadb下载安装包:https://downloads.mariadb.org/mariadb/+releases/解压安装包:tar xf mari

2021-02-09 15:03:27 103

原创 N43-第十九周作业

第十九周作业一、简述LVS四种集群特点及应用场景二、描述LVS-DR工作原理,并配置实现三、实现LVS+Keepalived高可用 一、简述LVS四种集群特点及应用场景1、LVS-NAT多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑选出的RS的RIP和PORT实现转发(1) RIP和DIP必须在同一个IP网络,且应该使用私网地址;RS的网关要指向DIP;(2) 请求报文和响应报文都必须经由Director转发;Director易于成为系统瓶颈;(3) 支持端口

2021-02-09 14:57:41 93

原创 N43-第十八周作业

第十八周作业1、实现基于MYSQL验证的vsftpd虚拟用户访问2、通过NFS实现服务器/www共享访问3、配置samba共享,实现/www目录共享4、使用rsync+inotify实现/www目录实时同步5、使用iptable实现:放行telnet,ftp,web服务,放行samba服务,其他端口服务全部拒绝 1、实现基于MYSQL验证的vsftpd虚拟用户访问 1️⃣环境准备,一台虚拟机作为FTP服务器,另一台做数据库服务器数据库服务器(centos8)上安装并启动:y

2021-02-09 14:48:44 182

原创 N43-第十七周作业

第十七周作业1、部署分离的LAMP,部署到二台服务器上,php加载xcache模块2、部署wordpress论坛,并实现正常访问登录论坛(在1基础上实现)3、收集apache访问日志,并实现图形化展示(在1、2基础上实现) 1、部署分离的LAMP,部署到二台服务器上,php加载xcache模块 1️⃣环境准备,两台主机,第一台虚拟主机(192.168.9.105)安装mariadb并启动,第二台虚拟主机(192.168.9.103)安装httpd,php,php-mysql

2021-02-09 14:19:46 373

原创 N43-第十六周作业

第十六周作业1、使用ansible的playbook实现自动化安装httpd2、建立httpd服务器,要求提供两个基于名称的虚拟主机: 1、使用ansible的playbook实现自动化安装httpd#vim install_httpd.yml---- hosts: appsrvs remote_user: root tasks: - name: install yum: name=httpd - name: config copy:

2021-02-09 14:01:43 74

原创 N43-第十五周作业

第十五周作业1、编写脚本,支持让用户自主选择,使用mysqldump还是xtraback全量备份2、配置Mysql主从同步3、使用MHA实现Mysql高可用 1、编写脚本,支持让用户自主选择,使用mysqldump还是xtraback全量备份#!/bin/bashread -p "please input 1 or 2 (1=mysqldump,2=xtrabackup):" BACKTYPEif [[ "$BACKTYPE" == 1 ]];then mysqldump -A

2021-02-09 13:56:44 82 1

原创 N43-第十四周作业

第十四周作业1、 导入hellodb.sql生成数据库2、数据库授权magedu用户,允许192.168.1.0/24网段可以连接mysql3、总结mysql常见的存储引擎以及特点 1、 导入hellodb.sql生成数据库 (1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄select * from students where age>27 and gender='m'; (2) 以ClassID为分组依据,显示每组的平

2021-02-09 11:55:06 159 2

原创 N43-第十三周作业

第十三周作业1、简述DNS服务器原理,并搭建主-辅服务器2、搭建并实现智能DNS3、编译安装Mariadb,并启动后可以正常登录 1、简述DNS服务器原理,并搭建主-辅服务器DNS服务器原理:参考:DNS原理及其解析过程第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服

2021-02-09 11:46:51 129 1

原创 N43-第十二周作业

第十二周作业1、配置chrony服务,实现服务器时间自动同步2、实现cobbler + pxe自动化装机 1、配置chrony服务,实现服务器时间自动同步1️⃣检查服务状态启动chrony服务:systemctl start chronyd.service  设置开机同步时间:systemctl enable chronyd.service  查看服务状态:systemctl status chronyd.service   2️⃣关闭防火墙直接关闭防火墙:syste

2021-02-09 11:19:25 142

原创 N43-第十一周作业

第十一周作业1、编写脚本/root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问2、配置magedu用户的sudo权限,允许magedu用户拥有root权限 1、编写脚本/root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问#!/bin/bashcat /var/log

2021-02-09 11:15:51 57

原创 N43-第十周作业

第十周作业1、编写脚本selinux.sh,实现开启或禁用SELinux功能2、统计/etc/fstab文件中每个文件系统类型出现的次数3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字4、解决DOS攻击生产案例:根据web日志或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT 1、编写脚本selinu

2021-02-08 15:40:40 75

原创 N43-第九周作业

第九周作业1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www2、使用expect实现自动登录系统3、简述linux操作系统启动流程4、破解centos7密码第一种方法:设置光盘为第一启动项第二种方法:救援模式(推荐方法) 1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www#!/bin/bashif

2021-02-08 15:32:58 91

原创 N43-第八周作业

第八周作业1、显示统计占用系统内存最多的进程,并排序2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高于80%,就发送邮件报警 

2021-02-08 15:20:08 93

空空如也

空空如也

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

TA关注的人

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