码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程题(六)

时间:2019-12-26 19:25:26      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:listen   结果   inf   tcp   $0   size   gre   协议   mamicode   

题目:

shell编程题(六)

打印当前sshd的端口和进程id

例如:处理结果: sshd Port&&pid: 22 5412

 

答案:

netstat -nltp | grep ssh |awk -F: ‘{print $2}‘| grep -v "^$"|awk ‘{print "ssh:"$1}‘

技术图片

 

解析:

netstat -nltp

Netstat 命令用于显示各种网络相关信息,参数为:

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

技术图片

 

grep ssh

显示含有ssh的行

技术图片

 

awk -F: ‘{print $2}‘

将一行数据按照 : 隔开, 第二个域里面的内容。 

awk工作流程是这样的:读入有‘\n‘换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。 

 

grep -v "^$"

作用是过滤空白符

技术图片

shell编程题(六)

标签:listen   结果   inf   tcp   $0   size   gre   协议   mamicode   

原文地址:https://www.cnblogs.com/wanghao-boke/p/12103635.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!