大家都知道ifconfig 可以查看centos的ip地址,但是我如果只要ip地址该怎么办呢?
首先上ifconfig

[root@centos ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr ::::7D:
inet addr:10.10.9.110 Bcast:10.10.9.255 Mask:255.255.255.0
inet6 addr: fe80:::56ff:fe94:7d88/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (925.7 MiB) TX bytes: (41.6 MiB)

我现在想把ip地址所在的第2行取出来:

[root@centos ~]# ifconfig eth0 | awk 'NR==2'
inet addr:10.10.9.110 Bcast:10.10.9.255 Mask:255.255.255.0

或者通过grep来取也可以

[root@centos ~]# ifconfig eth0 | grep Mask
inet addr:10.10.9.110 Bcast:10.10.9.255 Mask:255.255.255.0

在此基础之上,把ip地址取出来

[root@centos ~]# ifconfig eth0 | awk 'NR==2 {print $2}'
addr:10.10.9.110 //此时还需要一个管道把前面的addr:去掉即可 [root@centos ~]# ifconfig eth0 | awk 'NR==2 {print $2}' | awk -F ":" '{print $2}'
10.10.9.110

换一种思路,用cut命令

cut 截取命令,-d " " 用引号内符号分割,-f n n代表分割之后的区域

[root@centos ~]# ifconfig eth0 | grep Mask | cut -d ":" -f2 | cut -d " " -f1
10.10.9.110

第三种方法,awk的高级用法

awk命令通过-F "[ : ]+" 可以使用多个分隔符分割文本

[root@centos ~]#  ifconfig | grep "Bcast" | awk -F "[: ]+" '{print $4}'
10.10.9.110

第四种方法,我可以在ifcfg-eth0配置文件上动脑筋

[root@centos ~]# grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 | cut -d "=" -f2
10.10.9.110

第五种方法,可以叫做野路子,获取到的是外网ip

[root@centos ~]# curl ifconfig.me

第六种方法,只用sed

[root@centos ~]# ifconfig eth0 | sed -n '/inet addr/p' | sed 's#^.*addr:##g' | sed 's# Bc.*$##g'
10.10.9.110

第七种方法 我还运用的不熟练

sed的反向匹配

[root@centos ~]# ifconfig eth0 | sed -n 's#^.*addr:\(.*\) Bcas.*$#\1#gp'
10.10.9.110

说了这么多,发现linux命令博达而精深,只有膜拜的份了。

我只想要Linux的IP地址的更多相关文章

  1. 从ip addr add和ifconfig的区别看linux网卡ip地址的结构

    今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别, ...

  2. Linux下ip地址查询

    [时间:2016-12] [状态:Open] [关键词:linux,ip地址,ifconfig,ip addr] 0 引用 说起来比较搞笑,我在windows下知道可以使用ipconfig命令查询本机 ...

  3. 解决redhat linux下IP地址可以ping通,域名无法ping通问题

    解决redhat linux下IP地址可以ping通,域名无法ping通 在/etc/resolv.conf中添点东西 格式如下: nameserver xxx.xxx.xxx.xxx nameser ...

  4. linux 查看ip地址

    1.先要打开linux服务器,然后在linux桌面的空白处点击右键 2.在弹出的选项里,点击[打开终端] 3.打开linux服务器的命令终端后,输入查询linux的ip地址的命令:ifconfig - ...

  5. Linux学习(一):linux更改ip地址命令_更改DNS_更改默认网关_更改子网掩码_主机名

    如何使用命令来更改linux的IP .DNS .子网掩码,在虚拟机(vitrualBox)上添加一个Linux的虚拟机; 安装方法:http://pan.baidu.com/s/1sjJPhP7 安装 ...

  6. Linux网络管理——IP地址

    1. 网络基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",&q ...

  7. 问题1——之Linux虚拟机ip地址消失

    原文转自 https://blog.csdn.net/keep_walk/article/details/75115926 以前一直通过ifconfig命令查看ip地址,但是今天用XShell连接自己 ...

  8. Linux系统学习 六、网络基础—Linux的IP地址的配置

    1.ifconfig命令临时配置IP地址 2.setup工具永久配置IP地址 3.修改网络配置文件 4.图形界面配置IP地址 ifconfig命令临时配置IP地址 主要的作用是查看网络信息,也可以临时 ...

  9. [Linux] 024 IP 地址配置和网络 yum 源

    1. IP 地址配置 (1) 使用 setup 工具 $ setup ps setup 是 RedHat 系列的功能:一般地,Debian系列没有这个功能 Xubuntu 没有这个功能 (2) 启动网 ...

随机推荐

  1. PL/SQL执行计划查看

    一.如何查看PLSQL的执行计划 在SQl Window窗口输入sql语句,然后按键"F5",就会进入执行计划查看界面. 二.界面说明 首先我们看第二行有几个属性可以选“Tree” ...

  2. python读Excel

    import xlrd def open_excel(fileName="TransInfo.xlsx"): try: fileHandler = xlrd.open_workbo ...

  3. 关于Redis处理高并发

    Redis的高并发和快速原因 1.Redis是基于内存的,内存的读写速度非常快: 2.Redis是单线程的,省去了很多上下文切换线程的时间: 3.Redis使用多路复用技术,可以处理并发的连接.非阻塞 ...

  4. druid 连接池加密算法

    package juint; import com.alibaba.druid.filter.config.ConfigTools; public class DruidTest { public s ...

  5. Git Learning3 Eclipse Tools(未完成)

    1.创建Git 操作:工程 右键 Team Share Project Git 完成创建 2.全局设置:Window->Preference->Git->Configuration- ...

  6. 第 10 章 容器监控 - 079 - 监控利器 sysdig

    sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器. 通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为. Linux 上有很多常用的监控工具,比如 strace,t ...

  7. 【转载】Java性能优化之JVM GC(垃圾回收机制)

    文章来源:https://zhuanlan.zhihu.com/p/25539690 Java的性能优化,整理出一篇文章,供以后温故知新. JVM GC(垃圾回收机制) 在学习Java GC 之前,我 ...

  8. Java核心技术卷一 · 笔记(2)

    目录 1.多态.动态绑定 2.覆盖 3.阻止继承:final 类和方法 4.抽象类(abstract修饰) 5. 4 个访问修饰符: 6.toString() 7.对设计继承关系很有帮助的建议 8.接 ...

  9. leetcode刷题——一些算法技巧总结1.0

    运算符优先级,简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 把数字取反,可以作为一种标记 pythonlast = ...

  10. C语言实验一(2)

    #include<stdio.h>int main(){ char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2) ...