摘要
原创
本文将记录一些简单实用的shell命令、脚本以及一些命令组合。
用ping来做链路监控
1 | cat ping.sh |
多个日志文件合并处理以及日志分析
1 | # 可以用cat多个文件的方式进行处理 |
端口存活、端口扫描
1 | # 可以使用nping来检查某个ip的某个端口的存活状态 |
查看本机开放端口、统计tcp连接数
1 | # 查看本机开放端口 |
查看一个进程启动时间
1 | ps -p PID -o lstart |
sed
1 | # sed修改主机名 |
tcpdump抓包
tcpdump抓包会有单独的文章来做记录
1 | tcpdump -i eth0 |
反转
1 | echo "abcdef" | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//' |
一个简单的awk问题
1 | # 题目 要求将下列内容中第一列是a=${num}的 num+1 |
1 | awk '$1~/a=[0-9]/{split($1,a,"=");a[2]+=1;$1=a[1]"="a[2]}1' |
awk处理文本
1 | # ques 1 |
awk 行转列
1 | cat a |
1 | awk -vc=10 -vd=20 '/3/{e++;f=1}{if(e==1&&f==1){print "if port"c>FILENAME}else if(e==2&&f==1){print "if port"d>FILENAME}else{print $0>FILENAME};f=0}' a |
查看etc目录inode使用量
1 | find /etc/ -exec stat -c "%n %i" {} \;|awk -F "[/ ]" '{if(! a[$1-$NF]++) l[$1]++}END{for (i in l) print i,l[i]}' |
iperf测试网速
1 | # server端开启 |
一个awk数据处理
源文件
1 | 2 192.168.174.2 "GET /group1/M00/00/00/wKiuj1qWeyGAJWsuAAAACXh6ifo038.txt HTTP/1.1" |
目标
1 | 2 "GET /group1/M00/00/00/wKiuj1qWeyGAJWsuAAAACXh6ifo038.txt HTTP/1.1" |
1 | awk '{if($2==ip){$1=" "}ip=$2;$2=""}1' 1.txt |
shell解析json打印制定key对应的值(伪)
1 | echo '{"a":21,"b":60,"c":16,"d":36,"e":6,"f":6,"g":11,"h":6,"i":6,"j":4,"k":16}' |
Linux四种结束某用户所有进程的方法
1 | ## pkill方式 |
shell命令行参数的方式(简)
1 | # 只有一个参数, 多参数匹配需要用shift,有空再补充 |