03 2020 档案
自动统计nginx日志
摘要:PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网站几个页面。这里需要强调:同一个人浏览你网站同一个页面,不重复计算pv量,点100次也算1次。说白了,pv就是一个访问者打开了你的几个页面。
阅读全文
保留最近几天文件或者保留同一类型的最近几个文件
摘要:data 011010002017 :将时间修改为2017年1月10号10点(没有data,要用yum安装) chattr +i /root/project/1_delete_file.sh :给1_delete_file.sh文件赋i权限,防止脚本修改或被删除 touch `data +F`.tx
阅读全文
系统资源统计
摘要:分析系统资源性能瓶颈脚本 一、脚本功能: 1.查看CPU利用率与负载(top、vmstat、sar),脚本中采用vmstat 2.查看磁盘、Inode利用率与I/O负载(df、iostat、iotop、sar、dstat),脚本中采用df、iostat 3.查看内存利用率(free、vmstat),
阅读全文
结合zabbix统计TCP连接状态的内容
摘要:1.使用netstat查看tcp命令: netstat -an | grep ^tcp :获取以tcp开头的数据 2.使用ss查看tcp命令: ss -an | grep ^tcp :获取以tcp开头的数据 3. netstat -an | grep ^tcp | head -1 :获取以tcp开头
阅读全文
结合zabbix统计数据库状态的内容
摘要:1. mysqladmin status :获得数据库的基本信息 2. mysqladmin extended-status | less:获取数据库的扩展信息,| less,表示分页显示,不是一下子全部显示 3.vim zabbix_mysql_status.sh #!/bin/bash #mys
阅读全文
结合zabbix统计/proc/meminfo文件中的内容
摘要:vim memory_status.sh #!/bin/bash #脚本解释器说明 MemTotal(){ awk '/^MemTotal/{print $2}' /proc/meminfo #打印/proc/meminfo文件中以MemTotal开头行的以空格分割的第二列元素的值,单位为kb }
阅读全文
网站测试
摘要:一、UI测试: 1.界面整体页面的布局 2.页面中有没有遮盖的图片,遮盖的文字,有没有窜行,包括鼠标放上去按钮有没有变颜色,这些都是UI的交互,是第一要测的 二、要测试整体页面的流程 包括里面局部的、模块的、等价类,边界值,必填项等跟输入框表单有关系的地方 三、拆分模块,大纲法 拆分网站:导航栏每一
阅读全文
shell102输出数组
摘要:函数内部使用变量尽量使用本地local变量 文档:shell102数组输出 链接:http://note.youdao.com/noteshare?id=7d3d20cfaa1cf020147da6d0ee8cdb00
阅读全文
shell101变量
摘要:无论是函数中还是脚本中,定义的变量,默认都是全局变量,相互之间是会影响的,函数中定义的变量加上local后,这个变量便为局部变量,只会对函数的本地生效,对外面不会有什么影响
阅读全文
shell100for无参数形式
摘要:for i相当于for i in $*或for i in $@,都是指所有参数
阅读全文
shell99函数中传数组
摘要:用$@或$*来获取传入的数组的值 $@加引号和不加引号都能接受所有参数,而$*不能加引号
阅读全文
shell98函数的参数
摘要:函数的参数主要以位置参数传递 程序有自己的位置参数,函数也有自己的位置参数
阅读全文
shell97shell返回值和函数返回值
摘要:shell使用return返回值最大为255,返回值大于255就会报错 函数的输出的方式可以是大于255的值,但是return的返回值最大只能是255
阅读全文
shell96阶乘的函数
摘要:函数调用不带括号使用/bin下的env获取bash环境的位置,明确的定义bash的位置有可能不对,可以实用env来获取bash的位置 函数调用不带括号 函数传参:在调用函数之前定义参数的变量 函数位置传参,在函数后加参数就是函数的位置参数 函数后跟$1就可以表示脚本的位置参数,然后获取到脚本的位置参
阅读全文
shell94统计TCP的链接状态
摘要:watch -n1 脚本:实时统计(以间隔1秒钟的时间执行) Ctrl+V,选择,然后按y,赋值的就是选择的内容 while统计
阅读全文
shell92统计shells的数量
摘要:awk中的-F设置分割,默认为空格,$NF,表示最后一项
阅读全文
shell88数组遍历赋值
摘要:以数组的索引来遍历数组 变量里的变量的$可以舍去 while默认以回车(即换行)分割,for见到空格、tab、回车都会分割 以IFS定义分隔符 把原来的分隔符先定义一个值放到那里,等这个分隔符用完后,再复原到原来的分隔符 while见了空行,走不动,可以定义一个当变量长度为0时continue
阅读全文
shell86数组变量
摘要:shell默认不支持关联数组,要用declare -A定义,大写a是定义关联数组,小写a是定义普通数组
阅读全文
shell85expect解决交互问题
摘要:spawn:开启一个回话 expect{}:期望出现一个内容,大括号里是期望出现的内容,期望到什么内容,执行什么动作,结束后用一个分号(;) interact:交互,停在那里 exp_continue:没出现内容,继续往后走 expect:脚本解释器
阅读全文
shell82expect实现批量主机密钥推送
摘要:shell与expect结合实使用,expect可以解决交互问题 spawn:启动一个会话 :set list:查看前面是按的是tab键还是空格,此处全是tab键 :set nolist:撤销查看 set timeout 10设置一个延时 判断是否安装except,没有就安装,判断是否存在公钥,没有
阅读全文
shell80set变量
摘要:此处使用的是expect,不是bash set:设置变量 [lindex $argv 0]:argv变量的第一个位置参数,1为第二个位置参数 interact:表示进入交互页面 expect "#":表示读到井号(出现井号表示登录成功)时做什么 expect eof:表示关闭终端
阅读全文
shell79控制多进程的数量
摘要:&8:就指的是文件描述符8 read -u:后面跟文件描述符 read读取描述符8中的内容,开始一个进程,进程结束后又往描述符8中再加一个空格,如此循环往复,可以控制后台进程最大就开启5个 read是读不到就一直在那里读,不罢休 read第一个文件,读的是一行,只要有行(即使是空行)也行,只要读到,
阅读全文
shell77管道
摘要:匿名管道:| 命令管道:named pipe file:查看文件dde的类型 mkfifo:创建命名管道 管道也是个文件,只不过是拿出来或者查看一次后就没有了 管道文件遵循:先进先出,管道文件不是永恒存在的,读完以后就没了 匿名管道不能夸终端,但是命名管道可以夸终端
阅读全文
shell76多进程文件描述符和句柄
摘要:shell放置后台使用的是对进程,而很多人喜欢叫多线程 $$:当前进程号 fd:查看当前进程下的描述符 exec6一行:表示以进程符6打开文件file1 echo一行:表示将echo的内容加到6描述符下的file1文件中 rm一行删除file1后,但是exec打开的依然打开,文件句柄没有释放,cp一
阅读全文
shell73while ping测试脚本
摘要:sleep 1:睡1秒 while是条件为真循环,until是条件为假循环
阅读全文
shell72while读文件创建用户
摘要:从user.txt中读取一行内容赋值给变量user,然后进行操作 while以回车(或者换行)分割 for遇到空行就认为是分隔符空格,while遇到空行,会将空行作为一个变量空值读入 while比for擅长逐行处理文件
阅读全文
shell70批量修改远程主机的ssh配置文件内容
摘要:sed中的c表示替换的意思,为了区分,可以在c后加一个斜线\ :set nu:显示行数
阅读全文
shell68批量创建用户(传多个参数)
摘要:${#line}:变量line的长度 for循环是以空格区分的,遇到一个空格,则空格前的内容为一个for变量,需要以其它分隔符分割,需要重新定义分隔符,用IFS定义分割符
阅读全文
shell66批量ping或批量创建用户
摘要:seq -w 100:等位补齐 {1..$num}:集合中不能使用变量
阅读全文
shell65循环ping
摘要:seq可以生成一个序列 {}也可以生成一个序列 >ip.txt:重定向的意思 {}&:讲整个循环放到一个大括号里并且放到后台,&表示放到后台运行,{}中内容表示在自shell中运行,for的每一次循环都会在一个子shell中运行 wait:表示等待上面所有的前后台代码执行完成后,再往下继续执行 ti
阅读全文
shell62for循环空行
摘要:for do done:for循环语句,for循环不会读取空行(即使是多个空格行)为变量值
阅读全文
shell60根据不同的操作系统来配置操作的源
摘要:os_version一行是获取系统的版本号 mkdir和mv两行是备份系统原有yum源 wget -o:一行是从服务上下载一个文件到本地,-o,表示重定向 yum之前没有wget命令,可以使用curl
阅读全文
shell59安装apache脚本
摘要:firewall一行的意思是将http或https服务加入到防火墙允许访问的意思 sed一行是查询config文件,将以SELINUX=开头的内容替换成cSELINUX=disabled内容 curl部分是看网址能不能访问
阅读全文
shell58磁盘管理工具脚本编写
摘要:函数的目的可以多次重复引用 while加真值,until加假值 free m:以兆现实内存,不加m,s是以字节单位显示 exit:退出程序 break:跳出循环 case的最后一个可以不加双分号(;;),多个命令之间以分号(;)隔开
阅读全文
shell57跳板机脚本
摘要:把写好的脚本放到.bash_profile或者.bashrc文件中,让用户一登录shell就执行 clear:清屏 trap:捕捉键盘信号 trap "" HUP INT OUIT TSTP:意思是捕捉到这些信号后什么都不做,防止脚本退出,如按Ctrl+c退出脚本 实用echo打印带颜色的文字,ec
阅读全文
shell56command
摘要:command -v 对象:判断是不是一个命令 if中的占位符为“ :”,如果if后什么都不做,可以在执行语句处直接写一个冒号(:) true和:,返回都是始终为真
阅读全文
shell55删除用户脚本
摘要:exit 1:退出程序,并且返回1,正常没有参数时,返回0 userdel -r $user:userdel删除用户 表达式之间加 -o 是或的意思 case可以多个条件匹配,多个条件之间以|隔开 case中不能做数值的大小判断,只能做字符串比较
阅读全文
shell54case使用
摘要:case用法:各个条件之间以双分号(;;)隔开 case匹配,按照顺序从上往下匹配,匹配到一个便完成case *:表示匹配任意字母 Ctrl+G :删除一下内容(Vim快捷键)
阅读全文
shell53创建用户脚本
摘要:seq:打印一个数字序列 单行缩进安tab键 ^[0-9]+$:^[0-9]$,表示0到9中的任意一个数字,+表示前面([0-9])的东西匹配任意多个,整个表达式的意思是表示任意多个0到9的数字 任何表达式前都可以加!,表示表达式的结果取反
阅读全文
shell50磁盘使用率脚本
摘要:NF:倒数第一个列 NF-1:倒数第二列 -F"%":表示以百分号分割 当磁盘使用率超过90%,则发送邮件给某个用户 mail -s 正文 用户:-s后面跟的是正文 每隔五分钟执行一次脚本
阅读全文
shell49创建用户脚本
摘要:id命令是用来打印id信息的,如果用户不存在,则命令执行错误, id $user:用户存在,则命令执行成功后返回值为0,否则为非0 useradd 用户名:useradd为创建用户命令 if后面可以跟任何语句,它判断的是语句执行结果的返回值是否为真
阅读全文
shell46判断是否为root用户
摘要:$UID -ne 0:表示UID不等于0,UID为系统变量,root用户的UID为0,UID不为0表示不是root用户 -ne:不等于 exit:退出整个程序 等号可以是一个等号(=),也可以是两个等号(==) USER为系统变量,表示当前用户的名称
阅读全文
shell45判断是否为目录脚本
摘要:test -d $backdir:测试变量backdir是否为目录,是,则返回值为0,非则返回值为非0 ! test -d $backdir:!为非的意思,即取反
阅读全文
shell44条件测试三种写法
摘要:test 条件:test为一个条件测试的命令 [条件] [[条件]]:可以匹配正则的条件
阅读全文
shell42各种符号
摘要:从()到$[] {}:为集合,如:touch file{1..5} ${}:变量的引用,${a}比$a有时候可以解决歧义 =~:表示按照正则匹配 -d:判断是个目录 -f:判断是个文件 &&:与条件 ||:或条件
阅读全文
shell39判断是否传入数字
摘要:exit:退出程序,其后的任何语句都不会执行
阅读全文
shell38i++与++i
摘要:i++:先赋值,在运算 ++i:先运算,再赋值
阅读全文
shell37变量替换
摘要:unset var1:删除变量var1 ${var1-aaaaaa}:给var1赋值aaaaaa,注意蓝字规则 ${var1:-aaaaaa}:可以替代赋值为空的变量 再看看+、:+、=、:=、?、:?的含义
阅读全文
shell36判断8000端口是否被占用并杀死占用端口进程
摘要:vim jiaoben,sh #获取8000端口的第七列的值给perpid变量 perpid=`netstat -lnp|grep 8000 |awk '{print $7}'` if [ $perpid ];then #从后开始删除变量,删除到第一个/停止,赋值给apid apid=${perpi
阅读全文
shell33变量删除
摘要:#为从前往后删; %为从后往前删; #,%为删到发现第一个匹配为止; ##,%%为删到发现最后一个匹配为止;
阅读全文
shell32小数运算
摘要:前三行是通过bc来运算,第四行是通过begin来计算,最后一行是通过Python来计算
阅读全文
shell30计算内存百分比脚本
摘要:bash -vx mem_use.sh:表示以调试的方式运行sh脚本
阅读全文
shell28获取命令结果的第几个参数
摘要:awk '{print $4}':表示打印第四列的值
阅读全文
shell25 脚本带文件参数
摘要:$0:获取文件的绝对路径; $#: 获取参数个数; 反引号隐住命令表示先执行命令获取值后再执行其他,表示命令替换,$()作用与反引号一样,也是命令替换; exit:表示退出当前程序; [ ! -f $1]:表示第一个位置参数如果不是文件,则执行then后面的内容; for do down:为for循
阅读全文
shell24basename和dirname
摘要:basename:获取参数的最后的一个/后面的名字;dirname:获取参数的最后一个/前面的所有内容。
阅读全文
shell21系统变量和自定义变量
摘要:系统变量为全局变量都可以用,用export定义,如:export ip1=192.168.1.5 自定义变量为当前shell或者文件生效,如:ip1=192.168.1.8
阅读全文
shell20三种变量复制方式
摘要:1.直接赋值 2.read 赋值 3.传参赋值
阅读全文
shell19位置变量
摘要:$1,$2:叫位置变量,是系统定义好的变量,表示传入的第一个参数,第二个参数,如果没有传入参数,则表示传入的是一个空参数
阅读全文
shell18变量
摘要:用$引用变量 if then else fi的使用 $?:表示上一条命令的执行结果,[ $? -eq 0 ]:表示上一个命令的执行结果等于0 read ip :表示从外面输入传入一个值,这个值赋给变量ip,成为ip的值 -p "Please input a ip: " :表示给用户的一个提示信息,增
阅读全文
shell17echo打印带颜色的文字
摘要:30m至37m为前景色,即文字的颜色,40m至47m为背景色,0m为重置为正常色
阅读全文
shell-15 &的三种不同
摘要:&:命令切换至后台; &>:命令输出混合重定向; &&:前一个命令执行成功后再执行后一个命令。
阅读全文
shell-14 多个命令以分号隔开
摘要:多个命令之间以分号隔开,各个命令执行互不影响,前一个命令是否执行成功,不影响后一个命令的执行;多个命令之间以&&符号隔开,表示只有前一个命令执行成功后,才会执行后一个命令;多个命令之间以||符号隔开,表示只有前一个命令执行失败后,才会执行后一个命令
阅读全文
shell-13 tee管道可以重定向但是不截流
摘要:1.ls -l >1.txt :将内容输出到1.txt文件中,shell中不会显示输出内容 2.ls -l |tee 1.txt : 将内容输出到1.txt文件中,并且shell中显示输出的内容
阅读全文
shell-12实用cat完成文件复制
摘要:cat </root/1.txt >/root/2.txt :讲1.txt文件中的内容复制到2.txt中(即使2.txt文件中之前有内容,也会不再有,而是变为和1.txt中完全相同的内容)
阅读全文
shell-11输入内容到文件
摘要:1.输入单行内容到文件:echo "111">1.txt 2.输入多行内容到文件:cat <<EOR >1.txt <111 <222 <333 <EOF
阅读全文
shell-10kill杀死作业号和进程号
摘要:kill 3:杀死进程号为3的进程 kill %3:杀死作业号为3的作业号
阅读全文
shell-9前后台切换
摘要:1.例如目前在:vim /etc/hosts 2.按ctrl+z切换至后台,操作其他命令,如:cd root 3.输入:fg 再调出步骤1中的界面,继续操作
阅读全文
shell8-利用screen记录会话
摘要:1.screen :查看是否安装screen,如果没有安装,则用 yum -y install screen 安装 2.用screen给当前回话命名一个名字:screen -S install_lnmp 3.断开shell,再次登录 4.screen -list:查看screen保存的会话 5.sc
阅读全文
shell7
摘要:!1020:表示显示并执行历史命令中的第1020行的命令 !da:表示找到历史命令中最近一条带da的命令,显示并执行 !!:表示执行上一个命令 !$:表示上一个命令中的最后一个参数
阅读全文
shell5
摘要:su alice :切换到alice账户,但是shell的环境没有改变,还是在root下,但是alice可能没有访问root目录下内容的权限,处于没有登录用户alice状态,叫noLogin shell; su - alice:切换到alice账户,并且shell环境切换到alice目录下,处于登录
阅读全文
shell-3
摘要:shell脚本中请来Python执行Python脚本: #!/usr/bin/bash ping -c1 www.baidu.com &>/dev/null && echo "www.baidu.com is up" || echo "www.baiud.com is down" /usr/bin/
阅读全文
shell-1
摘要:vim ping01.sh #!/usr/bin/bashping -c1 www.baidu.com &>/dev/null && echo "www.baidu.com is up" || echo "www.baiud.com is down" 其中 #!/usr/bin/bash 为脚本解释
阅读全文
zabbix监控top
摘要:参考网址:http://www.51testing.com/html/05/n-4456205.html?tdsourcetag=s_pcqq_aiomsg https://blog.csdn.net/oqqJohn1234567890/article/details/85330766 一.top.
阅读全文
django指导网址
摘要:https://code.ziqiangxuetang.com/django/django-tutorial.html
阅读全文
点击劫持(UI覆盖攻击)
摘要:通过可见的页面,诱导用户点击可见的页面进而达到同时点击不可见页面的动作,从而在用户不知情的情况下完成黑客要你完成的点击动作,以达到黑客不可告人的目的
阅读全文
预防中间人(ettercap)攻击
摘要:1.客户端 通过arp 静态绑定网关的mac地址(正确的服务网关),可以有效防止中间机作为中间机动态更改你的网关的mac地址为中间机的mac地址 2.服务端进行加密,将http加密成https(公钥加密,私钥解密;公钥验证签名,私钥签名)
阅读全文