您好,登录后才能下订单哦!
Linux shell工具grep awk cut sort uniq sort的使用分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Linux 系统中,有很多用于快速处理数据的工具如grep awk cut sort uniq sort,他们非常非常地好用。 如果你熟练掌握他们的使用技巧,他们则可以帮你快速定位问题。
最近碰到一个案例。 一个项目上数据库系统, ORACLE ,运行在 LINUX 上,报进程数满了。看到这类问题,您不需要去深究什么警告日志,数据库中进程状况啊等等。马上 在操作系统层面上看看有哪些服务器连接到这台数据库服务器上。
这里使用的第一个工具就netstat 。他是系统管理工具,还不能算shell 工具。
通过netstat -ntu ,找出通过tcp 和udp 连接服务器的IP 地址列表。
下面略掉,太多了,没法显示全。
这是所有与数据库服务器连接的外部IP 信息列表。
可以看到第五列是所有的外部IP 信息。根据这些信息,找出数目那个IP 是什么?或者根据IP数目做一个排序。
第一步,使用grep 将tcp 过滤出来,也可以使用egrep 过滤多个条件
netstat -ntu|grep 'tcp'
netstat -ntu|egrep 'tcp|udp'
第二步,使用awk 将第五列单独截出来
netstat -ntu|grep 'tcp'|awk '{print $5}'
操作如下:
第三步,使用cut 将列信息以":" 为分隔符再分成不同的列, 显示第一个field
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1
第四步,使用sort 默认字符顺序将字段值排序
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort
sort 有很多选项,可以man sort 去看。
第五步,使用uniq 将已经排序好的字段计算不同值的数目
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c
uniq -c 根据相近的值计算和,因此之前需要排序好。
第六步,使用sort -n 数字升序方式再排一下结果
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -n
使用sort -nr ,可以按照数字降序排。
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr
第七步,使用head 或tail 取头部几行或尾部几行
取尾部10 行
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -n|tail -10
取头部10 行
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr|head -10
这就得到我们要的结果。
这个结果中,我们可以看出各个服务器在数据库服务器上的网络连接数。
根据连接数,发现特别大的,肯定有问题。通常都应用服务端打开连接不关闭,或者出现异常无法关闭
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。