摘要 腾兴网为您分享:shell命令获取linux下eth0的IP地址,我画你猜,万豪金业,调音器,时光机器等软件知识,以及usb2.0webcamera,蚂蚁,粤菜菜谱,怪物闹钟,帮我吧,英文小说,伪装微信地理位置,整数分区计算器,色彩搭配软件,蜜桃儿,地铁冲浪,pennygirl,迅腾,学各国语言的app,奥维卫星实景地图等软件it资讯,欢迎关注腾兴网。shell命令获取linux下eth0的IP地址,用到的命令有ifconfig、awk、grep。 一、常规方法 复制代码 代码如下: [root@localhost ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr BC:30:5B:C0:CD:4F inet addr:192.168.7.2 Bc...

shell命令获取linux下eth0的IP地址,用到的命令有ifconfig、awk、grep。

一、常规方法

复制代码 代码如下:

[root@localhost ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr BC:30:5B:C0:CD:4F

inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0

inet6 addr: fe80::be30:5bff:fec0:cd4f/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:45814755 errors:12 dropped:0 overruns:0 frame:55

TX packets:14791104 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:4338136769 (4.0 GiB)  TX bytes:2483722504 (2.3 GiB)

Interrupt:16

[root@localhost ~]# ifconfig eth0 |grep 'inet add'

inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0

[root@localhost ~]# ifconfig eth0 |grep 'inet add'|awk -F ":" '{print $2}'

192.168.7.2  Bcast

[root@localhost ~]# ifconfig eth0 |grep 'inet add'|awk -F ":" '{print $2}'|awk '{print $1}'

192.168.7.2

[root@localhost ~]#

二、通过awk同时使用多个分隔符来实现:

复制代码 代码如下:

[root@localhost ~]# ifconfig eth0|grep 'inet addr'

inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0

[root@localhost ~]# ifconfig eth0|grep 'inet addr'|awk -F'[ :]' '{print $13}'

192.168.7.2

[root@localhost ~]#

选取包含IP地址行的特殊关键字'inet addr’过滤然后,使用awk以空格和:同时做分隔符,然后取出需要的内容。

最大缺点就是计算$n的时候很费劲,因为inet前面有多个空格,查到$13,真是不容易,如此看来从实现时间上可能还不如第一个方法快呢?

三、通过awk同时使用多个分隔符,然后通过正则匹配多个分隔符的方法来实现:

复制代码 代码如下:

[root@localhost ~]# ifconfig eth0 |awk NR=2

eth0      Link encap:Ethernet  HWaddr BC:30:5B:C0:CD:4F

inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0

inet6 addr: fe80::be30:5bff:fec0:cd4f/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:45867518 errors:12 dropped:0 overruns:0 frame:55

TX packets:14808564 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:4343100002 (4.0 GiB)  TX bytes:2486006118 (2.3 GiB)

Interrupt:16

[root@localhost ~]# ifconfig eth0 |awk NR==2

inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0

[root@localhost ~]# ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'

192.168.7.2

[root@localhost ~]#

提示:本题NR是行号,分隔符+号匹配,[ ]里一个或多个任意一个分隔符,这里就是匹配一个或多个冒号或空格。

1)awk -F 后面跟分隔符‘[空格:]+’,其中[空格:]多分隔符写法,意思是以空格或冒号做分隔,后面的"+"号是正则表达式,意思是匹配前面空格或冒号,两者之一的1个或1个以上。

2)NR==2和sed -n "2p",相当,意思都是选择第几行,例:

复制代码 代码如下:

[root@oldboy ~]# ifconfig eth0|awk NR==2

inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0

3)指定awk -F '[ :]+'分隔符后,不同字符串被分隔的列依次为:

4)整个答案awk部分意思是,通过NR==2取出第二行,然后,通过-F '[-:]+多分隔符正则匹配,然后通过{print $4}打印出第四列 !

相关推荐

linux 获取ip地址命令行,linux获取ip_shell命令获取linux下eth0的IP地址相关推荐

  1. linux命令行怎么播放,如何在在 Linux 命令行中观看彩虹猫

    导读 在本系列文章中,我们将会探索一些娱乐用途(甚至有时完全没用)的 Linux 命令行小玩具.所有我们介绍的小玩具都是开源的. 你甚至可以在终端里欣赏彩虹猫. 也许你会问,它们都很独特吗?是的.不过 ...

  2. saltstack批量查看linux信息,Saltstack 命令行:批量发送命令,返回执行结果

    批量发送发送命令符,并返回结果. salt '*' cmd.run 'df -h' ---------------------------------------- Stest1: Filesyste ...

  3. linux命令行如何换行,一行命令太长,看的不清晰,

    linux命令行如何换行,一行命令太长,看的不清晰, 1.如图是列子; 2."\"  +ENTER 就可以实现换行 3.还有一个linux命令行的相关操作;ctrl+a, ctrl ...

  4. linux 权限提示信息,命令行快速提示:权限进阶 | Linux 中国

    原标题:命令行快速提示:权限进阶 | Linux 中国 本部分介绍使用权限管理文件访问和共享的其他方法. -- Paul W. Frields 前一篇文章.本部分介绍使用权限管理文件访问和共享的其他方 ...

  5. linux shell运行脚本命令行参数,shell脚本命令行参数简介

    之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互. bash shell提供了命令行参数添加在命令后面的数据值).命令行选项修改命令行为的单字符值)和直接读取键盘输入. 1.命 ...

  6. Linux命令行万能解压命令

    Linux命令行万能解压命令 Linux命令行万能解压命令 1.在用户目录创建一个.autoex.sh脚本 脚本的内容如: #copy from https://ynome.wordpress.com ...

  7. android 启动linux命令行模式,Android用命令行启动应用

    Android是基于Linux内核的操作系统,用Java写的应用程序被Android运行时虚拟机运行. 因为Android是基于Linux的,而Linux执行ELF格式的可执行文件,所以用C++编写的 ...

  8. linux命令行ps1变量_Linux命令行提示符美化(PS1PS2PS3PS4)

    通过设置环境变量PS1.PS2.PS3以及PS4来自定义用户命令行的字符显示.如果要长期永久性修改提示符,可以将修改提示符的命令添加到$HOME/.profile或$HOME/.bash_profil ...

  9. linux的shell命令行参数,shell脚本命令行参数简介

    之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互. bash shell提供了命令行参数添加在命令后面的数据值).命令行选项修改命令行为的单字符值)和直接读取键盘输入. 1.命 ...

最新文章

  1. China SAFe DAY 2020中国规模化敏捷大会圆满落幕
  2. Pytorch中用于深度学习常见的激活函数
  3. 电子病历、HL7交流QQ群:14739311欢迎一起交流
  4. 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍
  5. 利用sql报错帮助进行sql注入
  6. 子数组最大值设计02
  7. LeetCode每日一题: 单值二叉树(No.965)
  8. 模型融合之stacking方法
  9. 安卓应用在各大应用市场上架方法整理
  10. 产品经理必备的14大效率工具
  11. 用python恢复删除的文件_使用python删除N天前的文件
  12. Java 基础 - 面向对象(不错)
  13. 合流超几何函数_【初中数学大招流】从平面几何到解析几何
  14. 索尼首次展示其Airpeak电影摄制无人机
  15. 工作中常用到的 Spring 依赖管理技术盘点
  16. git command not found
  17. 重新编译Telepresence,谈如何写编译脚本
  18. CAD2008详细安装教程和激活失败方法
  19. C#实现调用第三方接口进行短信验证码验证
  20. origin绘制双Y轴柱状图

热门文章

  1. IT部门的工作流程管理制度
  2. 互联网API对接如何保证系统安全
  3. 职场小人 就在你背后
  4. pip查看软件版本号
  5. UltraEdit 10.20c 下载及注册
  6. js模拟post请求
  7. html怎么随机生成字母,JS简单生成由字母数字组合随机字符串示例_气质_前端开发者...
  8. Caused by: java.io.IOException: CreateProcess error=5, 拒绝访问 。 CreateProcess error=2, 系统找不到指定的文件
  9. API接口开发简述示例
  10. PHP序列化与反序列化、PHP伪协议