- 博客(31)
- 收藏
- 关注
原创 Shell脚本之awk用法
一、语法awk是一种可以处理数据、产生格式化报表的语言,功能十分强大。awk认为文件中的每一行是一条记录,记录与记录的分隔符为换行符,每一列是一个字段,字段与字段的分隔符默认是一个或多个空格或tab制表符。awk的工作方式是读取数据,将每一行数据视为一条记录(record),每条记录以字段分隔符分成若干字段,然后输出各个字段的值。awk语法:awk [options] [BEGIN]{program} [END][file]常用命令选项:-F fs:指定描绘一行中数据段的文件分隔符,默认为空格
2021-08-08 23:20:45
1001
原创 Postman强化学习
一、Postman内置的动态参数企业当中做接口测试的时候经常会出现接口不能把参数写死。时间戳:{{$timestamp}}生成0-1000的随机数:{{$randomInt}}生成一个GUID的字符串:{{$guid}} # 很长的一个字符串二、Postman之接口关联将接口的一个请求返回作为全局变量(Tests栏下)json提取器//提前access_token的值var jsValue = JSON.parse(responseBody)console.log(jsValue
2021-08-07 23:02:25
141
原创 面试常见问题记录
1. 什么是http协议?答:http是超文本传输协议,主要是用于浏览器和服务器之间交互数据,交互有两个部分(请求和响应)。请求:get,post,put,delete请求部分包括:请求方式、请求地址、协议请求头:Accept: application/json(客户端可以接收的数据格式)X-Requested-With: XMLHttpRequest(异步请求)User-Agent:PostmanRuntime(客户端的用户)Host:xxx ( 请求的主机地址)Connection:k
2021-08-07 21:10:18
130
原创 Shell脚本之sed命令
sed命令行(流)编辑器,非交互式的对文件内容进行增删改查的操作,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。它与文本编辑器有本质的区别:文件编辑器:编辑对象是文件行编辑器:编辑对象是文件中的行语法:sed [options] '{command}[flags]' [filename]命令选项:-e script:将脚本中指定的命令添加到处理输入时执行的命令中 多条件, 一行中要有多个操作-f script: 将文件中指定的命令添加到处理输入时执
2021-08-06 23:23:39
1187
原创 Shell脚本之正则表达式
egrep 相当于 grep -E1. 特殊字符^ : 锚定开头^a, 以a开头, 默认锚定一个字符$ :锚定结尾a$, 以a结尾, 默认锚定一个字符示例:egrep "^ac$" file # 精确匹配以a开头, 以c结尾egrep "^a" file # 模糊匹配以a开头egrep "c$" file # 模糊匹配以c结尾2. 匹配符:匹配字符串. : 匹配除回车以外的任意一个字符() : 字符串分组[] : 定义字符类, 匹配括号中的一个字符[
2021-08-06 17:36:56
472
原创 Shell范例4:nginx启动管理脚本
#!/bin/bash# nginx service manage script#variablesproc=nginxnginx_install_doc=/usr/local/nginxnginxd=$nginx_install_doc/sbin/nginxpid_file=$nginx_install_doc/logs/nginx.pid# Source function library.if [ -f /etc/init.d/functions ]; then . /etc/in
2021-08-04 23:24:15
184
原创 Shell脚本之函数
语法一:函数名(){ 代码块 return N}语法二:function 函数名{ 代码块 return N}实战#!/bin/bash#定义函数start(){ echo "Apache start ... [OK]"}stop(){ echo "Apache stop ... [FAIL]"}#调用函数stopstartstart#输出Apache stop ... [FAIL]Apache start ... [O
2021-08-03 22:31:53
61
原创 shell脚本之case用法
case语法:case 变量 in条件1) 执行代码块1;;条件2) 执行代码块2;;.....esac注: 每个代码块执行完毕要以;;结尾代表结束,case结尾要以倒过来写的esac来结束。案例:#!/bin/bashread -p "num: " ncase $n in1) echo haha;;2) echo hehe;;*) echo "1|2";;esac...
2021-08-03 22:12:07
136
原创 shell脚本之until
until介绍: 和while正好相反,until是条件为假开始执行,条件为真停止执行。语法:until [ condition ] # 注意,条件为假until才会循环,条件为真,until停止循环 do commands代码块done案例:打印10-20#!/bin/bashnum=10until [ $num -gt 20 ];do echo $num num=$((num+1))done...
2021-08-03 21:53:30
454
原创 Shell脚本之while循环语句
语法while [ condition ] # 注意: 条件为真,while才会循环,条件为假,while停止循环 do commandsdonewhile实战#!/bin/bashread -p "NUM: " num1while [ $num1 -gt 0 ] do echo "大于"done
2021-07-31 17:55:36
384
原创 Shell脚本之循环控制
continue:本次循环结束,可以开始下一次循环#!/bin/bashfor ((i=1;i<10;i++)) do if [ $i -eq 5 ];then #本次循环结束,可以开始下一次循环 continue fi echo $idonebreak:跳出循环,但继续执行后续代码。如果循环多层嵌套,循环从里往外排序0-N,如果想跳出某层循环,break N# 要求用户输入一个字母,当输入Q的时候退出#!/bin/bashfor(( ;; )) do
2021-07-31 17:22:33
187
原创 Shell范例3:监控主机存活的状态
#!/bin/bashfor (( ;; )) do ping -c1 $1 &>/dev/null if [ $? -eq 0 ] then echo "`date +"%F %H:%M:%S"`: $1 is Up." else echo "`date +"%F %H:%M:%S"`: $1 is Down." fi #脚本节奏控制, 生产环境建议在1min以上 sleep 60done...
2021-07-31 17:01:02
91
原创 Shell脚本之for循环
语法格式语法一:for var in value1 value2 ...... do commandsdone示例:# 循环输出1-9数字#!/bin/bashfor i in `seq 1 9` do echo $idone语法二:# C式的for命令for ((变量; 条件; 自增减运算)) do 代码块done示例1:#!/bin/bashfor ((i=1;i<10;i++)) do echo $idone示例2:#!/bin
2021-07-31 16:39:53
343
原创 Shell脚本之if语句
语句格式:语法一:单if语句if [ condition ] # condition值为true or false then commandsfi语句二:if-then-else语句if [ condition ] then commandselse command2fi示例:#!/bin/bash# 登录用户是root 输出管理员,你好# 登录的是普通用户 输出guest, 你好if [ $USER == 'root' ] then echo "管理
2021-07-30 22:31:33
6138
原创 Shell脚本之数组
基本数据数组语法数组名称=(元素1 元素2 元素3)数组读出${数组名称[索引]}数组赋值方法一:一次赋一个值array0[0]='tom' 方法二:一次赋多个值 array2=(tom jack alice) array3=(`cat /etc/password`)查看数组declare -a访问数组元素echo ${array[0]} # 访问数组中的第一个元素echo ${array[@]} # 访问数组中所有元素,等同于echo
2021-07-29 23:25:00
205
原创 Shell脚本之变量
变量分类:本地变量:用户私有变量,只有本用户可以使用,保存在家目录下的.bash_profile、.bashrc文件中全局变量:所有用户都可以使用,保持在/etc/profile、/etc/bashrc文件中用户自己定义变量:用户自定义,比如脚本中的变量变量定义:格式:变量名=值(变量名与等号之间不能有空格)变量命名规则:命名只能使用英文字母、数字和下划线,首个字符不能以数字开头;中间不能有空格,可以使用下划线(_);不能使用标点符号;不能使用bash里的关键字读取变量内容:$变量
2021-07-28 22:59:28
76
原创 Shell脚本之read用法
read: 默认接受键盘的输入,回车符代表输入结束read命令选项:-p : 打印信息-t : 限定时间-s :不回显-n: 输入字符个数#!/bin/bashclear#echo -n -e "Login: "#read accread -p "Login: " accecho -n -e "Password: "read -s -t5 -n6 pw # -s 不回显 -t5 超时5s退出echo "account: $acc password: $pw
2021-07-28 22:25:01
2265
原创 Shell范例2:统计指定单词出现次数
#!/bin/bashif [ $# -lt 1]; then echo "ERROR: you should input 2 words at least" exit -1fiFILE=$1WORDS_NUM=$#-1for n in $(seq $WORD_NUM)do shift sed -e "s/[^a-zA-Z]/\n/g" $FILE | grep -v ^$ | sort | uniq -c | grep "^$1$"done# 执行>
2021-07-22 20:31:35
601
原创 Shell脚本之shift用法
shift:用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理shift(shift 1)命令每执行一次,变量的个数($#)减一(之前的$1变量被销毁,之后的$2就变成了$1),而变量值提前一位。同理,shift n后,前n位参数都会被销毁,如:输入5个参数(a b c d e),那么$1=a,$2=b,$3=c,$4=d,$5=e,执行shift 3操作后,前3个参数a、b、c被销毁,就剩下了2个参数:d,e(这时d=$1,e=$2,其中d由¥...
2021-07-22 15:41:39
4042
原创 Shell脚本之uniq用法
uniq用于检查文本文件中重复出现的行列,一般与sort命令结合使用语法:uniq [-cdu] [-f<栏位>] [-s<字符位置>] [-w<字符位置>] [输入文件] [输出文件]参数:-c:在每列旁边显示该行重复出现的次数-d:仅显示重复出现的行列-f<栏位>:忽略比较指定的栏位-s<字符位置>:忽略比较指定的字符-u:仅显示出一次的行列-w<字符位置>:指定要比较的字符[输入文件]:制定已排序好的文本文件
2021-07-22 14:45:51
573
原创 Shell脚本之grep用法
grep:强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来。用法:grep [选项] ‘搜索字符串’ filename选项:-a:以文本文件方式搜索-c:计算找到的符合行的次数-i:忽略大小写-n:顺便输出行号-v:反向查找,即找没有搜索字符串的行示例:> grep -n 'the' regular_express.txt # 搜索有the的行,并输出行号> grep -nv 'the' regular_express.txt # 搜索没有t
2021-07-22 11:33:52
2636
原创 Shell脚本之echo用法
echo:用于字符串的输出用法:echo [选项] string选项:-n: 不换行输出-e: 处理特殊字符若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a:
2021-07-22 10:20:59
4864
原创 Shell脚本之seq用法
seq: 用于生成从一个数到另一个数之间的所有整数。用法:seq [选项] 尾数seq [选项] 首数 尾数seq [选项] 首数 增量 尾数选项:-f, --format=FORMAT : 指定输出格式-s,–separator=STRING : 指定分隔符-w,–equal-width: 指定输出数字同宽例:> seq 1 512345> seq -f "%3g" 1 3 # 数字位数为三位,不足补空格123> seq -f "%03
2021-07-22 09:50:54
1760
原创 Shell范例1:计算人均收入最高家庭
随机产生了一组测试数据,文件名为income.txt1 3 44902 5 38963 4 31124 4 47165 4 45786 6 53997 3 50898 6 30299 4 619510 5 5145说明:上面的三列数据分别是家庭编号、家庭人数、家庭月总收入。实现#!/bin/bash[ $# -lt 1 ] && echo "please input the income file!" && exit -1[ ! -f $1 ]
2021-07-22 09:30:34
79
原创 Shell传递参数
我们可以在执行Shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n代表一个数字,1为执行脚本的第一个参数,2为执行脚本的第二个参数,以此类推…$0 : 执行的文件名(包含文件路径)$1: 执行脚本的第一个参数$2: 执行脚本的第二个参数$3: 执行脚本的第三个参数......$#:传递到脚本的参数个数$*:以一个单字符串显示所有向脚本传递的参数,以"$1 $2 ... $n"的形式列出所有参数$@:与$*相同,以"$1" "$2" ... "$n"的形式输出所有参数$$:脚本
2021-07-21 16:38:23
57
原创 Shell运算符
expr计算原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如awk和expr,expr最常见。#!/bin/bashval=`expr 2 + 2`echo "两数之和为: $val"注:表达式和运算符之间要有空格,必须写成 2 + 2完整的表达式要被 ``包含算术运算符下表列出了常用的算术运算符,假定变量a为10,变量b为20:`expr $a + $b` # 加法,结果为30`expr $a - $b` # 减法,结果为-10`expr $
2021-07-21 16:14:11
87
原创 shell脚本执行方法
方法一:# 切换到shell脚本所在目录,且该脚本具备可执行权限./test.sh方法二# 直接使用bash或sh来执行shell脚本bash test.sh# 或sh test.sh方法三. test.sh方法四source test.sh
2021-07-21 10:48:54
62
原创 K8s yaml文件中常用字段说明
常用字段解释apiVersion(string) : 表示API的版本号。根据集群的版本输入,1.17及以上版本的集群中无状态应用apiVersion格式为apps/v1, 1.15及以下版本的集群中无状态应用apiVersion格式为extensions/v1beta1kind(string): 指定资源类型,如Pod,Deploymentm,Service等metadata(object): 自定义metadatametadata.name(string): deployment的名称me
2021-07-21 10:36:36
1152
原创 K8s工作负载之Deployment详解
Deployment部署在早期版本使用Replication Controller对Pod副本数量进行管理,在新的版本中官方推荐使用Deployment来代替RC,Deployment相对RC有这些好处:Deployment拥有更加强大的升级、回滚功能,并且支持滚动更新使用Deployment升级Pod只需要定义Pod的最终状态,k8s会为你执行必要的操作(RC要自己定义如何操作)不管是RC还是Deployment,解决的主要问题是:每个Pod都运行给定应用程序的单个实例。如果您想水平扩展应用程
2021-07-20 19:52:45
1009
2
原创 curl命令发送Post请求
格式curl -X POST -H ‘Accept: application/json’ -H ‘Content-Type: application/json’ -d ‘{“para1”:“value1”, “para2”:“value2”}’ https://ip:port/url忽略https证书校验curl -k -X POST -H ‘Accept: application/json’ -H ‘Content-Type: application/json’ -d ‘{“para1”:“va
2021-07-19 19:32:27
2567
原创 chage --- 修改账号和密码的有效期限
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-07-19 19:22:14
470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人