awk命令

linux-网络监控命令-netstat进阶

 ̄綄美尐妖づ 提交于 2019-12-17 08:38:04
2.网络连接状态详解 共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。 1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN./* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ 2)、 SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT./*The socket is actively attempting to establish a connection. 在发送连接请求后等待匹配的连接请求 */ 3)、 SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */ 4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接

shell编程之正则表达式(三)awk工具

安稳与你 提交于 2019-12-13 16:07:58
awk 工具 在 Linux/UNIX 系统中,awk 是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于 Shell 脚本,完成各种自动化配置任务。 awk 常见用法 通常情况下 awk 所使用的命令格式如下所示,其中,单引号加上大括号“{}”用于设置对数据进行的处理动作。awk 可以直接处理目标文件,也可以通过“-f”读取脚本对目标文件进行处理。 awk 选项 '模式或条件 {编辑指令}' 文件 1 文件 2 „ //过滤并输出文件符条件的内容awk -f 脚本文件 文件 1 文件 2 „ //从脚本中调用编辑指令,过滤并输出内容。前面提到 sed 命令常用于一整行的处理,而 awk 比较倾向于将一行分成多个“字段”然后再进行处理,且默认情况下字段的分隔符为空格或者 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。在使用 awk 命令的过程中,可以使用逻辑操作符“&&”,表示“与”, “||”表示“或”,“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别 表示加、减、乘、除、取余和乘方。 在 Linux 系统中/etc/passwd 是一个非常典型的格式化文件,各字段间使用“:”作为分隔符隔开,Linux

zabbix监控nginx

我只是一个虾纸丫 提交于 2019-12-11 03:54:34
1、安装软件以及修改配置文件 首先安装nginx,可以直接yum安装nginx yum -y install nginx 安装完nginx之后,修改配置文件 vim /etc/nginx/nginx.conf server内添加如下信息 location /stub_status { allow 127.0.0.1; stub_status on; } 执行如下命令 /usr/sbin/nginx curl http://127.0.0.1/stub_status 输出如下消息 Active connections: 1 server accepts handled requests 33672 33672 33672 Reading: 0 Writing: 1 Waiting: 0 2、编写自定义键值 vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf UserParameter=nginx.status[*],sh /etc/zabbix/zabbix_agentd.d/nginx.sh $1 对应的nginx.sh脚本 HOST="127.0.0.1" PORT="80" stub_status=stub_status function active() { /usr/bin/curl -s "http://

Linux(二)高级文本处理

做~自己de王妃 提交于 2019-12-10 11:55:34
一、cut ( cut 命令可以从一个文本文件或者文本流中提取文本列 ) 1、cut语法 cut -d '分隔字符' -f fields 用于有特定分隔字符 cut -c 字符区间 用于排列整齐的信息 选项与参数: -d :后面接分隔字符。与 -f 一起使用 -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思 -c :以字符 (characters) 的单位取出固定字符区间 2、例: echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 将 PATH 变量取出,找出第五个路径 echo $PATH | cut -d ':' -f 5 /usr/sbin 将 PATH 变量取出,找出第三和第五个路径 echo $PATH | cut -d ':' -f 3,5 /sbin:/usr/sbin 将 PATH 变量取出,找出第三到最后一个路径 echo $PATH | cut -d ':' -f 3- /sbin:/bin:/usr/sbin:/usr/bin:/root/bin 将 PATH 变量取出,找出第一到第三,还有第五个路径 echo $PATH | cut -d ':' -f 1-3,5 /usr/local/sbin:/usr

shell 命令综合实战

浪子不回头ぞ 提交于 2019-12-09 13:44:34
此篇为运维人员(开发)经常使用的查看系统状态的相关命令,主要综合了awk,grep ,sed等文本处理命令,能够大大提高工作效率,在此做个简单分享,也便于自己以后查找,毕竟好记性不如烂笔头。 获取etho网卡的ip: ifconfig eth0 |grep "inet" |awk '{print $2}' 获取cpu信息 cat /proc/cpuinfo|grep "model name"|tail -l |cut -d: -f 2 |sed 's/^//g'|awk '{print $1,$3,$4,$NF}' cut -d: -f 2 以冒号分割,截取第二列 sed 's/^ //g' 将行首的空格去掉 awk '{print $1,$3,$4,$NF}' 默认以空格分隔,打印第1,3,4及最后一列 获取cpu 个数 physical id cat /proc/cpuinfo|grep "physical id"|sort|uniq -c|wc -l sort|uniq -c 统计不同行的个数 wc -l 一共有多少行 获取磁盘信息 fdisk -l|grep "Disk"|grep -v "identifier"|awk '{print $2,$3,$4}'|sed 's/,//g' grep -v "identifier" 不取含有“identifer”的一列 sed

shell命令四剑客grep,awk,cut,sed

十年热恋 提交于 2019-12-08 20:06:31
grep 命令是Unix中用于文本搜索的工具,它能够接受正则表达式和通配符。也是日常开发调试中用的最多的 。 grep "匹配文本/通配符" file1 file2... --color=auto #重点标记匹配 grep -E "正则表达式" file egrep "正则" file grep -v #反向匹配 grep -c #统计匹配行数 grep -n #打印出匹配的行号 grep -o #唯一匹配 grep -l "匹配" file1 file2 #返回匹配的文件名 grep -R #递归匹配 grep -i #忽略大小写 grep -e "匹配1" -e "匹配2" #匹配多个样式 grep -f match.txt file1 #从match.txt文件读取匹配 sed 是stream editor(流编辑器)的缩写,它是文本处理中非常重要的工具。能够完美地配合正则表达式使用。 在text.tx中将old替换为new,s为开头,g为结束 , -i 为真正修改文件,不加为预修改 sed -i 's/old/new/g' text.txt 在text.txt中将第2行的old替换为new,s为开头,g为结束 sed -i '2s/old/new/g' text.txt 在text.txt中将所有行中的开头加入空格,s为开头,g为结束 sed ‘s/^/& /g’ text

docker 批量删除无tag标签镜像

大兔子大兔子 提交于 2019-12-07 14:12:29
docker images | grep none | awk '{print $3 }' | xargs docker rmi ps: docker images :镜像列表 | grep none : 筛选含 none 的行 | awk '{print $3 }' :awk行处理器打印第三个参数(IMAGE ID) | xargs : 参数列表转换 docker rmi : 镜像删除命令 来源: CSDN 作者: 秦学强 链接: https://blog.csdn.net/u014481096/article/details/90446666

shell脚本

你说的曾经没有我的故事 提交于 2019-12-07 09:33:33
第 1 章 Shell 概述 第 2 章 Shell 解析器 ( 1 ) Linux 提供的 Shell 解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh ( 2 ) bash 和 sh 的关系 [atguigu@hadoop101 bin]$ ll | grep bash -rwxr-xr-x. 1 root root 941880 5 月 11 2016 bash lrwxrwxrwx. 1 root root 4 5 月 27 2017 sh -> bash ( 3 ) Centos 默认的 解析 器 是bash [atguigu@hadoop102 bin]$ echo $SHELL /bin/bash 第 3 章 Shell 脚本 入门 1 . 脚本格式 脚本以 #!/bin/bash 开头 (指定解析 器 ) 2 . 第一个 Shell 脚本 :helloworld ( 1 )需求:创建一个 Shell 脚本,输出 helloworld ( 2 ) 案例 实操: [atguigu@hadoop101 datas]$ touch helloworld.sh [atguigu@hadoop101 datas]$

ping命令传递信息

点点圈 提交于 2019-12-06 15:49:01
IP: # 适用于 eth0 inet addr: IP的情况 ping `ifconfig eth0|grep 'inet '|awk '{ print $2}'|awk -F: '{print $2}'|awk '{ gsub(/\./,"-"); print $0 }'`.vivo_fj_ip.q734y5p2.dnslog58.top ping ip.`ifconfig eth0|grep 'inet '|awk '{ print $2}'|awk -F: '{print $2}'`.kiwe2t.dnslog.cn # 适用于 eth0 IP的情况 ping `ifconfig eth0|grep 'inet '|awk '{ print $2}'|awk '{ gsub(/\./,"-"); print $0 }'`.vivo_fj_ip.q734y5p2.dnslog58.top ping ip.`ifconfig eth0|grep 'inet '|awk '{ print $2}'`.kiwe2t.dnslog.cn hostname ping `cat /proc/sys/kernel/hostname`.vivo_fj_hostname.q734y5p2.dnslog58.top user ping `whoami`.vivo_fj_use.rq734y5p2

nginx常用运维日志分析命令

跟風遠走 提交于 2019-12-05 20:17:29
nginx常用日志分析命令 运维人员必备 常用日志分析命令 1、总请求数 wc -l access.log |awk '{print $1}' 2、独立IP数 awk '{print $1}' access.log|sort |uniq |wc -l 3、每秒客户端请求数 TOP5 awk -F'[ []' '{print $5}' access.log|sort|uniq -c|sort -rn|head -5 4、访问最频繁IP Top5 awk '{print $1}' access.log|sort |uniq -c | sort -rn |head -5 5、访问最频繁的URL TOP5 awk '{print $7}' access.log|sort |uniq -c | sort -rn |head -5 6、响应大于10秒的URL TOP5 awk '{if ($12 > 10){print $7}}' access.log|sort|uniq -c|sort -rn |head -5 7、HTTP状态码(非200)统计 Top5 awk '{if ($13 != 200){print $13}}' access.log|sort|uniq -c|sort -rn|head -5 8、分析请求数大于50000的源IP的行为 awk '{print $1}'