• Linux系统运维脚本:shell脚本实现查看本机的多种网络信息


    目                录

    一、需求说明

    二、解决方案

    (一)解决思路

    (二)方案

    三、脚本程序实现

    (一)脚本代码

    (二)脚本验证

    1、脚本编辑

    2、给予执行权限

    3、运行脚本,查看效果

    四、扩展


    一、需求说明

          Linux系统中,想要查看主机名、IP地址、⼦⽹掩码、关、DNS服务器IP地址等信息,需要多个命令实现,并且有很多冗余的信息。需求是写一个脚本实现查看本机的所有这些信息。

    二、解决方案

    (一)解决思路

            这些信息,可以使用不同的命令来实现,比如ip addr, hostname, route等命令;然后采用awk等命令去除多余的信息即可。

            对于网关,可能有多个,我们只需要找到默认网关即可。

    (二)方案

           (1)查询地址和掩码,可以采用ip addr和grep、awk结合的方式实现

           (2)主机名就是hostname,直接可以输出

           (3)默认网关通过route,grep,awk来实现

           (4)dns服务器名字可以通过/etc/resolv.conf,用awk来输出

    三、脚本程序实现

            直接把脚本写出来,分享给大家。

    (一)脚本代码

            如下为编写的bash代码:

    1. #!/bin/bash
    2. IP=`ip addr show eth0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1`
    3. ZW=`ifconfig eth0 | head -2 | tail -1 | awk '{print $4}' `
    4. #GW=`route -n | tail -2 | awk '{print $2}'`
    5. GW=`route -n | grep '^0.0.0.0' | awk '{print $2}'`
    6. HN=`hostname`
    7. DNS=`head -1 /etc/resolv.conf | awk '{print $2}'`
    8. echo ‘’
    9. echo '本机IP地址是:' $IP
    10. echo '本机掩码是:' $ZW
    11. echo '本机网关是:' $GW
    12. echo '本机主机名是:' $HN
    13. echo '本机DNS是:' $DNS
    14. echo ''

    (二)脚本验证

    1、脚本编辑

            使用编辑器,比如vi,把代码输入进去;

            保存这个脚本到一个文件中,比list_sys_info.sh

    2、给予执行权限

          chmod +x w list_sys_info.sh

    3、运行脚本,查看效果

         可以运行这个脚本来检查进程的运行情况,如下:

    1. [root@ecs-52a1 home]#
    2. [root@ecs-52a1 home]#
    3. [root@ecs-52a1 home]# sh list_sys_info.sh
    4. ‘’
    5. 本机IP地址是: 192.168.0.138
    6. 本机掩码是: 255.255.255.0
    7. 本机网关是: 192.168.0.1
    8. 本机主机名是: ecs-52a1
    9. 本机DNS是: Generated
    10. [root@ecs-52a1 home]#
    11. [root@ecs-52a1 home]#

    四、扩展

            在实际使用中,你可能查看访问更多的信息,你可稍微做些修改,就可以适合您的应用了。比如,也可以查看网卡的mac地址,你可以用如下命令即可:

    ifconfig eth0 | head -4 | tail -1 | awk '{print $2}'

  • 相关阅读:
    基于SpringBoot的停车场管理系统
    支撑全产业AI,需要怎样的算力服务?
    Ubuntu搭建Mqtt服务器
    TextRCNN、TextCNN、RNN
    Java面试常见问题总结
    vant+vue在静态页面实现车牌号软键盘
    大师傅敢死队风格
    EPICS记录参考--计算输出记录(calcout)
    Spring Boot-3-AbstractApplicationContext
    0906几个内核前缀
  • 原文地址:https://blog.csdn.net/weixin_70208651/article/details/136358621