码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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}'

  • 相关阅读:
    【C语言从入门到放弃 4】字符串,结构体,共用体,位域,typedef详解
    C++类和对象(一)
    【已解决】pyinstaller 将程序打包成 exe 文件后,无法保存视频或者保存的视频为空文件
    Codeforces 348B 思维
    软件工程国考总结——选择题
    4316. 合适数对(思维 + 离散化 + 树状数组)
    EquiVSet
    k8s、数据存储
    NestJS入门6:日志中间件
    【毕业设计】深度学习车道线检测与识别系统 - python 机器视觉
  • 原文地址:https://blog.csdn.net/weixin_70208651/article/details/136358621
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号