zoukankan      html  css  js  c++  java
  • shell编程题(六)

    题目:

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

    grep -v "^$"

    作用是过滤空白符

  • 相关阅读:
    遮罩层代码
    get方法传递中文数据的时候如何进行转码
    Eclipse常用快捷键
    VS常用快捷键
    Java笔记10-Object包装类型字符串
    MySQL常用命令
    Oracle笔记3-高级查询
    Oracle笔记2-数据库设计
    Java笔记9-正则表达式
    Java笔记8-抽象接口
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/12103635.html
Copyright © 2011-2022 走看看