自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 CentOS查看系统版本、内核、CPU、内存、磁盘、网络、IO等信息

系统版本cat /etc/centos-releasecat /etc/redhat-release内核uname -r # 内核发行版本uname -a # 系统更多信息CPUcat /proc/cpuinfolscpu内存free -m磁盘df -hlsblk网络netstatssIOiostat装了哪些软件包rpm -qa | wc -lyum list installed | wc -l主机名ho.

2021-06-05 15:43:21 464

原创 详解Python高阶函数:lambda、map、reduce、filter

文章目录背景lambdamapreducefilter练习参考背景高阶函数是一种高级函数,至少满足以下一个条件:函数作为参数被传入函数作为返回值被输出即函数的参数是另一个函数,或函数返回值为一个函数的,就是高阶函数。函数式编程就采用高阶函数来实现复杂的处理。lambda语法:lambda 参数: 表达式功能:定义一个匿名函数;减少代码量使代码更简洁实例:>>> a = lambda x,y: x+y>>> a(2,3)5相当于>&g

2021-03-09 11:24:34 432

原创 sed从原理到实战

sed工作原理sed是一行一行处理的,每次从文件中读取一行到临时的缓冲区里,叫做模式空间接着用 sed 命令处理模式空间的行把处理结果输出到屏幕接着处理下一行简单说,sed 是一行一行处理的,每次从文件中读取一行输入到模式空间,再把处理结果输出到屏幕。如图:语法及常用命令sed [options] ‘scripts’ file常用options有 -e(可以执行多条)scripts 包含 address 和 command定址方法有数字定址和正则定址,可以混合使用练习.

2021-03-01 15:09:35 274

原创 用shell和python实现:用户输入某个目录,找出该用户在这个目录下的文件权限

在牛客网上做到这样一道题:用户输入某个目录,请找出该用户在这个目录下的文件权限,请至少用两种语言作答这里我用shell和python分别实现,整体思路为:先判断目录是否存在(重要!!一开始忘了这一点)再输出用户对这个目录的权限shell语言实现#!/bin/bash# 用户输入某个目录,找出用户在该目录下的权限DIR=$1[ -d $DIR ] || exit 1 # 先判断目录是否存在,不存在就退出LOG_USER=`whoami`DIR_INFO=`ls -ld $DIR

2021-02-23 15:00:34 547 2

原创 6个实用的python脚本

文章目录前置知识1.监控CPU idle2.监控空闲内存3.监控磁盘用量4.第三方库自动安装脚本5.统计nginx日志访问量前十ip,并用柱状图显示6.爬取网页图片到本地参考前置知识os.popen()方法能够打开管道,获取一条命令的输出信息1~3都是三个监控脚本,分别监控CPU、内存和磁盘,超过或低于阈值就邮件告警脚本的思路都是类似的:使用 os.popen()方法获取一条命令的输出信息提取出要检测的值if条件判断,和阈值比较,超过或低于就邮件告警;否则pass不执行任何操作1.监

2021-02-19 23:46:27 1753

原创 复习:Shell脚本练习

1. nginx日志切割脚本 nginx_log_rotate.sh#!/bin/bash# nginx日志切割脚本dateFormat=`date +%Y%m%d` # 时间格式baseDir="/usr/local/nginx" # nginx目录nginxLogDir="$baseDir/logs" # nginx日志目录logName="access" # 访问日志名称[ -d $nginxLogDir ] &&a

2021-02-18 22:59:09 198 2

原创 复习:玩转nginx常用模块(含详细说明)

文章目录引言思路环境配置前准备配置详解总结参考引言最近在准备春招中,这几天把学过的nginx常用模块复习了一遍,并作整理记录,便于以后回看。思路先在nginx中配置下列功能:搭建静态资源服务器具有缓存功能的反向代理服务器使用goaccess分析access日志用自签证书搭建https站点再依次添加其他模块:limit_conn、limit_req、access、auth_basic、auth_request、log、gzip、stub_status等实现更丰富的功能环境在Ubunt

2021-02-13 20:21:30 531 4

原创 ntpdate同步时间出现:no server suitable for synchronization found 最终解决方案!

搭建zabbix服务器时,用ntpdate同步时间出错ntpdate[2685]: no server suitable for synchronization found百度查阅资料,尝试了以下数种方法:换别的时间服务器 ×ping 域名得到IP,在linux和windows上都ping,根据得到的ip再ntpdate ×关闭防火墙 ×开启防火墙,开123/udp端口 ×ntpd -v 查看ntp版本,是ntp 4.2以上版本,网上说查看 /etc/ntp.conf 文件中定义

2020-12-21 22:19:22 16986 6

原创 VMware 虚拟机繁忙无法关掉的最终解决方案

VMware中打开CentOS6.9后,一直显示黑屏无法进入,点击关机或挂起后一点反应都没有。想关掉VMware Workstation时出现虚拟机繁忙的对话框搞了好久才得到有效的解决方法:重启电脑(因为虚拟机开着时无法执行第二步)开机后找到虚拟机所在目录,删除**.lck结尾的文件和新生成的一个VEME文件**之后就可以顺利开启虚拟机了!...

2020-11-29 00:35:37 3651 1

原创 CentOS7.8中LNMP搭建wordpress

1. 数据库配置yum install mariadb-server -y # 安装数据库服务端mysql_secure_installation # 初始化create database wordpress # 建库grant all on wordpress.* to 'alice'@'%' identified by 'password' # 授权2. PHP安装配置yum install php -yyum install php-fpm -y # 安装php-fpm

2020-11-28 01:25:21 344

原创 ftp配置实战

环境hostipCentOS6.9192.168.64.200CentOS7.2192.168.64.100前期准备CentOS6.9安装ftp客户端软件ftp、lftp;CentOS7.2安装ftp服务端软件vsftpd[root@Centos6 ~]# yum install ftp lftp -y[root@localhost ~]# yum install vsftpd -yCentOS7.2防火墙添加ftp服务,关闭selinux[root@l

2020-11-15 17:38:37 258

原创 rsync+inotify实时同步实战

文章目录目标环境步骤CentOS6.9配置CentOS7.2配置测试目标利用rsync+inotify-tools将CentOS6.9 /data/ 目录下的内容实时同步到CentOS7.2的 /home/backup/ 目录下环境hostipCentOS6.9192.168.64.200CentOS7.2192.168.64.100步骤CentOS6.9配置源码编译安装inotify-tools# 注:内核版本得在2.6.13之前才支持inotify功

2020-11-15 01:46:48 99

原创 Linux磁盘管理(下):逻辑卷的创建、扩大和缩小、备份

目录目标一步骤1.分区2.创建物理卷PV3.创建卷组VG4.创建逻辑卷LV5.格式化6.挂载效果目标二步骤1.创建逻辑卷2.扩大逻辑卷3.扩文件系统效果目标一在虚拟机中创建3个逻辑卷,卷组名为plvg20,逻辑卷名称大小分别为data(500M),movie(500M),music(500M),分别挂载到/mnt/data,movie,music目录上步骤1.分区新建一个2G的sda5逻辑分区[root@localhost ~]# fdisk /dev/sda [root@localhost

2020-11-11 01:57:48 700 1

原创 linux磁盘管理(上):分区、格式化、添加卷标、挂载

目标添加一个新硬盘,分为三个区,卷标为userdata,groupdata,otherdata,分别使用设备路径、label、UUID挂载到/mnt/usrdata,/mnt/grpdata,/mnt/otherdata下配置环境新装的CentOS7.8 最小化版本步骤添加硬盘关闭虚拟机,点击“编辑虚拟机设置”>“添加”>“硬盘”,直接点击“下一步”到指定磁盘容量对话框,这里设置容量为3G。点击“下一步”>“完成”>“确定”。可以看到多了一块3G的磁盘分区(用f

2020-11-10 15:47:17 1475

原创 CentOS6.9中添加网卡并实现网卡绑定

目标添加一块网卡,使用bonding将2块网卡绑定到bond0网卡中,ip为原来的ip地址,使用模式2作为bonding的模式,并测试步骤添加网卡关机,点击“编辑虚拟机设置”>“添加”>“网络适配器”,点击确定可看到多了个网络适配器2...

2020-11-05 01:31:32 1008 2

原创 Linux进程管理练习题

做了十几道练习题,记录一下1.列出/etc目录下所有以.conf结尾的文件,把输出结果重定向到/var/tmp/conf.find中ls /etc/ | awk '/.conf$/{print}' > /var/tmp/conf.find2.定义一个ipadd变量,值为eth0网卡ip,要求此变量在所有shell中都生效ipadd=ip # 网卡IP地址export ipadd3.将系统环境变量PATH值改为/bin,然后执行passwd,能否修改当前用户密码?当前系统环境变量及pa

2020-11-03 16:46:55 1136 1

原创 Linux修改内核参数的两种方法

Linux内核主要有五大功能:进程管理、内存管理、文件系统、网络管理、驱动管理,此外还有个安全管理的功能。那如何修改Linux内核参数呢?这里有两种方法方法1:输入重定向改内核参数,临时生效临时修改网络协议参数[root@sotneC6 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0[root@sotneC6 ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all [root@sotneC

2020-11-02 15:25:29 1778

原创 awk进阶练习,看这篇就够了

1.只处理用户ID为奇数的行,并打印用户名和uidawk -F: '{if($3%2==1)print $1,$3}' /etc/passwd2.显示系统的普通用户,并打印用户名和IDawk -F: '$3>=500{print $1,$3}' /etc/passwd3.显示用户shell是/bin/bash的用户,并打印用户名awk -F: '{if($NF=="/bin/bash")print $1}' /etc/passwd4.统计普通用户个数awk -F: '$3>=

2020-10-29 01:42:47 238

原创 awk实战案例:统计数据生成报表

awk是一个可用来处理数据和生成报表的工具,也是一门编程语言,特别适合处理内容有规律的文件目标给定一个五行的成绩单文件Mary 2100 80 78 74Bob 2101 78 85 64Tom 2102 90 75 79Mike 2103 68 81 77Lola 2104 83 92 76如何用awk制作生成如下格式的表格?Line name NO. Math English Computer Total/-------------------------------------

2020-10-28 16:11:50 425

原创 Django实战中遇到的坑:RuntimeError: populate() isn‘t reentrant最终解决方案

在用Django搭建一个简易的用户信息管理系统时,运行整个项目时还好,若单独运行.py文件就出现RuntimeError: populate() isn’t reentrant这个莫名其妙的错误。修改了一些地方后,发现整个项目也没法运行了,一直是以下错误:百度了很久无果,尝试注释掉registry.py文件中报错的那一行也没用。折腾了很久在StackOverflow上找到了有效的建议Django stops working with RuntimeError: populate() isn’t reen

2020-10-23 11:24:50 7328 4

原创 CentOS7轻松装好Python3

查看CentOS7中预装的python2.7[root@localhost ~]# pythonPython 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> [root@localhost ~]# wh.

2020-10-17 12:07:25 138

原创 Python3安装连接MySQL模块时报错:MySQL_python-1.2.5-cp27-none-win_amd64.whl is not a supported wheel on this

文章目录解决方法过程效果解决方法先说解决方法:换一个模块,pip install PyMySQL,在IDLE中就可以import pymysql了过程在Python whl 包下载网址上下载了MySQL_python-1.2.5-cp27-none-win_amd64.whl文件后,命令行中pip安装报错照别人博客的方法,把whl文件名称改为适合python版本的名称,比如我用的python版本是3.7,那么要将.whl文件名改为 MySQL_python-1.2.5-cp37-none-win

2020-10-16 01:19:14 616 1

原创 Shell脚本实战(三):实现一个多功能的用户管理脚本

目标:写一个用户管理脚本,脚本格式:./script [-h | -a | -d | -m | -p PASSWORD | -s shell] userlist选项说明-a 从文件userlist中创建用户-d 删除用户-h 打印帮助信息-m 使用默认密码:redhat-p 自定义密码-s 创建用户时指定shell注意事项userlist是事先建立的用户名文件,里面每行是一个用户名,这里的userlist内容有五行,分别为:a,b,c,d,e脚本参数无序也能执行短选项可连写

2020-10-15 11:37:41 563

原创 SHELL脚本实战(二):回顾一道笔试题

笔试的时候做到一道shell编程题,挺简单的,也很值得学习,记录一下题目:检测/sy目录是否存在,如不存在的话创建该目录,并在/sy目录下创建1 2 3 4 5 6 7 8 9 10共10个文件夹 1 if [ -e /sy ]; then 2 echo "目录已存在" 3 else 4 mkdir /sy 5 for i in `seq 1 10`; do 6 mkdir /sy/$i 7

2020-10-14 00:19:47 98

原创 Shell笔记:四种算术运算方式和单双引号字符串区别

Shell中支持四种算术运算方式:$[x+y]$((x+y))let z=x+yexpr $x + $y[root@sotneC6 ~]# x=2; y=3[root@sotneC6 ~]# echo $x $y2 3[root@sotneC6 ~]# echo $[x+y]5[root@sotneC6 ~]# echo $((x+y))5[root@sotneC6 ~]# let z=x+y[root@sotneC6 ~]# echo $z5[root@sotneC6 ~

2020-10-11 22:23:26 109

原创 SHELL脚本实战(一):8道shell练习题

做了几个shell脚本作业,感觉挺有收获的,记录一下用ping的方式,查找当前网段内存在的IP用户,重定向到/tmp/ip.txt中 1 #!/bin/bash 2 read -p "input ip address:" ipaddr # 读取键盘输入 3 ipaddr=${ipaddr%.*} # 截取IP地址最后一个数字之外的内容,%从左往右删除 4 for i in `seq 1 254` #

2020-10-11 16:09:15 405 2

原创 解决Debian安装时奇慢无比的问题

这几天在虚拟机安装Debian8时,发现装这个虚拟机真的太慢太慢了,一直卡在安装软件界面,进度慢得不行,如下图原以为本来就是这么慢的,所以一天装不完就挂起虚拟机第二天再打开再继续安装,结果,呵呵,快一个星期了还没装好。。。直接百度终于弄明白了原因:Debian安装时默认开启安全源,这个源是国外的所以下载速度极慢。解决方法是安装时关掉默认开启的...

2020-09-28 14:30:49 15688 2

原创 Linux设置umask值后创建文件目录的权限

目标:将umask改为003,在root用户和普通用户下创建文件和目录,查看权限是否分别符合777-003和666-003?root用户下[root@sotneC6 ~]# umask0022[root@sotneC6 ~]# umask 0003 # 设置umask为0003[root@sotneC6 ~]# umask0003[root@sotneC6 ~]# mkdir /testdir[root@sotneC6 ~]# ll /testdir -d # 查看

2020-09-26 00:49:16 3741

原创 CentOS6.9源码编译安装nginx时执行make报错:make: *** No rule to make target `build‘, needed by `default‘. Stop.

从nginx官网下载源码,解压,配置,输入make命令编译时出了这么一个错误而在这之前,对nginx进行配置时就已经有报错提示了报错提示缺pcre库,那就装上pcre包发现已经安装过了?这就不明白了,既然已经装了为何还提示要求pcre库?百度了一下,照一篇教程在pcre库官网上源码编译安装pcre库后,还是没有效果。猜想会不会是版本问题,但下载的nginx和pcre库都是最新版的不该有错。百思不得其解,最后在这篇博客里170217、nginx 安装时候报错:make: *** No rule t

2020-09-24 21:17:27 658

原创 CentOS创建swap分区的两种方法

装好系统后再添加swap分区有两种方法:分区的方法或文件的方法。1.用分区的方法创建swap分区这里把/dev/sdb2的文件系统改为swap在这里插入代码片[root@sotneC6 ~]# umount /dev/sdb2[root@sotneC6 ~]# fdisk /dev/sdbWARNING: DOS-compatible mode is deprecated. It’s strongly recommended to switch off the mode (command ‘c

2020-09-16 20:22:08 1441

原创 CentOS6.9制作文件系统

实现目标:CentOS6.9中添加两块新硬盘(6g),磁盘分为5个区,每个分区大小为200M,将分区分别挂载到/mnt/disk1/p1-p5目录和/mnt/disk2/p1-p5目录下,开机自动挂载分区。(分别用fdisk和parted进行分区)目录1.添加两块硬盘(关机下执行)2.开机进入终端,查看硬盘设备3.用fdisk对sdb分区(2主3逻辑)4.格式化5.开机自动挂载到/mnt/disk1/p1-p5目录6.用parted对sdc分区(在gpt分区方式下分5个主分区)并制作文件系统1.添加两块

2020-09-15 22:01:44 451

原创 Linux中创建文件名为特殊字符(#、*、-等)的文件

CentOS6.9中用touch命令创建名字为#的文件时报错[root@sotneC6 tmp]# touch #touch: missing file operandTry `touch --help' for more information.百度了一下,发现原因是shell把特殊字符#解释为注释符,所以touch后面因缺少操作数报错。解决方法有两个:一是将文件名加上单引号;二是指明文件的绝对路径或相对路径(不能直接是文件名)。(参考:如何在Linux中操作文件名有空格和特殊字符)[root

2020-09-08 00:25:05 6321

原创 Ubuntu16.04安装nginx,并通过浏览器访问

Ubuntu16.04配置好阿里的apt源后(详细过程查看 Ubuntu 16.04添加阿里云源/163源 ),用apt-get安装nginxhahaha@ubuntu16:~$ sudo apt-get install nginx -y装好后查看版本检测是否正确安装hahaha@ubuntu16:/usr/sbin$ nginx -vnginx version: nginx/1.4.6 (Ubuntu)查看nginx所在路径并切换执行hahaha@ubuntu16:~$ which ngi

2020-08-28 21:21:32 516

原创 CentOS6.9最小化版本配置163yum源并安装图形化环境

Centos6.9最小化配置163的yum仓库切换到/etc/yum.repos.d/仓库目录下,查看文件可看到系统自带的.repo文件,全部删除,新建一个163yum源的163.repo文件(名字自由设定,后缀名必须是.repo)[root@sotneC6 ~]# cd /etc/yum.repos.d/[root@sotneC6 yum.repos.d]# ls163.repo CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.

2020-08-27 23:13:56 229

原创 适合新手的win10系统安装教程

目录引言步骤总结引言两个月前就重装了系统,当时是因为电脑实在太卡,开机太慢不得已才尝试重装系统。装好后效果实在惊人,原来开机至少40秒,重装系统后8秒开机,好久没有这么流畅的开机体验了,使用起来感觉真是爽。本来装好系统后打算几天内写一篇适合新手的简易装系统教程,无奈太拖延了,迟迟未开始,直到现在闲着没事才准备动手写写步骤1.进入微软win10下载官网:下载Windows 10,点击“立即下载工具”,下载win10 ISO文件下载工具总结...

2020-06-28 17:05:14 742

原创 Python轻松实现图片批量缩放

目录引言思路代码效果引言最近的马原线上考试要将答卷一张张截图然后插入到word文档中,总共有几十张截图,尝试了整个过程感觉特别麻烦。想找找word中有没有批量设置图片大小的方法,然而在word2019中并没有这操作( ╯□╰ ),遂决定写个批量缩放图片的python程序。参考了网上的教程后成功把它实现出来了思路缩放一张图:调用PIL库Image子库中的函数读取图片,之后使用resize()函数指定图片大小,最后保存图片到指定路径(这里用到了os库)【读取、缩放、保存】图片批量缩放:调用glob模

2020-05-27 19:52:22 2090

原创 十分钟用Python画一片雪花

引言在MOOC上看到一个好玩的实例——“用Python绘制科赫雪花小包裹”,挺有意思,也不难,尝试一下把它实现出来了,先上效果图(来源:中国大学慕课“Python语言程序设计”,主讲人:嵩天)效果图思路首先科普一下什么是科赫曲线,查阅百度百科解释如下:科赫曲线是一种像雪花的几何曲线,所以又称为雪花曲线,它是de Rham曲线的特例。科赫曲线是出现在海里格·冯·科赫的论文中,是分形曲线中...

2020-05-06 22:16:17 6127 1

ssl自签名证书生成(v1)

openssl默认生成的sslv1证书

2021-01-07

空空如也

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

TA关注的人

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