利用Shell命令获取IP地址

时间:2022-03-29 13:45:26

一 :获取单个网卡的IPv4地址,方法如下:

方法一:
$/sbin/ifconfig ethX | awk '/inet addr/ {print $2}' | cut -f2 -d ":"

方法二:
$/sbin/ifconfig ethX | awk '/inet addr/ {print $2}' | awk -F: '{print $2}'

方法三:
$/sbin/ifconfig ethX | sed -ne 's/\(.*\)addr:\([[:digit:].]*\)\(.*\)/\2/p'

把ethX中的X替换为需要查看网卡的序号,如eth0,eth1...

获得本机所有网卡的IPv4地址,方法如下:
$/sbin/ifconfig | awk '{if ( $1 == "inet" && $3 ~ /^Bcast/) print $2}' | cut -f2 -d ":"

如果是IPv6网络,把上面的命令做简单修改即可,如:
$/sbin/ifconfig | awk '/inet6/ {print $3}'      ----全部
$/sbin/ifconfig ethX | awk '/inet6/ {print $3}' ----单个

二、AIX操作系统中的读取方法:

  #ifconfig en2 | sed -n "2,2p" | awk '{print $2}'

  二、Linux操作系统中的读取方法

  #ifconfig eth0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "

  cut参数简介

  -d用来定义分隔符,默认为tab键,

  -f表示需要取得哪个字段,2表示取得以-d指定的分隔符分割的第二个字段

  当然也可以通过cut取得文件中每行中特定的几个字符,例如:

  cut -c3-5 /etc/passwd

  就是输出/etc/passwd文件中每行的第三到第五个字符。

  -c 和 -f 参数可以跟以下子参数:

  N 第N个字符或字段

  N- 从第一个字符或字段到文件结束

  N-M 从第N个到第M个字符或字段

  -M 从第一个到第M个字符或字段