1、curl发请求
-X POST:请求方法
-d ‘username=changhe’:数据体,传入的参数
2、a="test1":给a变量赋值
$#:除了当前文件外的命令参数个数(执行脚步后的参数个数)
$0:当前可执行文件
$1:后面跟的第一个手机号
执行的命令结果放到变量中
cons=`docker ps | awk '{print $1}' | grep -v CONTAINER`
echo $cons | xargs docker stop:执行多行命令参数放在最后
3、sed -n:只输出匹配的内容
/abc/,$p abc是匹配的内容,7,$指第7到结束行,前面不写表示从当前匹配行内容到结束,p表示打印出来
4、grep ^"FAILED" log1|awk -F "::" '{print $3}'
grep -v表示除了某个匹配以外的所有行
grep ^以谁谁谁开头
awk -F以谁切割默认空格,print $n取第几个值
5、paste -d "," log3 log2
-d:两个文件拼接时用什么隔开,默认换行符
6、awk -F \| 'NR==FNR{test[$2]=$0;next}{print test[$1]"|||"$2}' a b
文件a:张三|000001,文件b:000001|10
NR 已经读出的记录数,就是行号,从1开始
FNR 各文件分别计数的行号
next 如果展示为空不展示
NR==FNR{test[$2]=$0;next}
判断:如果文件行号与总行号相等,即第一个文件中的内容
第一行执行:test[$2]=$0 即test[000001]=张三|000001
后面大括号打印:test[$1] 即test[张三]没有内容,不展示
第二行执行:行号不相等的时候,也会执行第二个{}中内容
即打印test[000001]:张三|000001,$2是第二列:10
最终打印出来:张三|000001|||10
7、function _a(){ NAME=$(kubectl get pods -n dev | grep leads-app | awk "NR==1{print \$1}"); kubectl exec -it $NAME /bin/bash -n dev; }; _a
awk后面如果使用双引号",有些内容需要转义(\$1)
NAME=kubectl get pods -n dev | grep ^$1 | awk "NR==1{print \$1}")
列出dev的pod,然后搜索leads-app。awk NR==1 如果是第一行,就打印出来内容赋值给NAME
kubectl exec -it $NAME /bin/bash -n dev
进入pod为NAME的容器
只写内容定义一个方法function _a(){} _a去调用提前定义的方法
8、wc -l
将计算指定文件的行数
定时任务:
存放位置:/var/spool/cron/crontabs/中的root文件.可以修改或者删除
crontab -l 表示列出所有的定时任务,备份可以追加到文件中crontab -r 表示删除用户的定时任务crontab –i 在删除用户的crontab文件时给确认提示
crontab –e 编辑定时任务
分钟 小时 日期 月份 星期几0-6,0是星期日 命令
*/5:每5分钟一次
*:表示所有的时间都执行
23-7/2,8:晚上11点到早上8点之间每两个小时和早上八点