怎么使用LINUX获取本机的网络接口eth1的IP地址和MAC地址

怎么使用LINUX获取本机的网络接口eth1的IP地址和MAC地址,第1张

方法一:

$/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}' ----单个

ipAddr=1921681100

echo ${ipAddr##}

这样就提取出了100。

Bash中字符串的掐头去尾方法:

# 表示掐头,% 表示去尾

助记:键盘上# 在前面,键盘上% 在后面。

单个#或%的表示最小匹配,双个#或%表示最大匹配。

也就是说,当匹配有多种方案的时候,选择匹配最大长度还是最小长度。

用awk也可以:

ifconfig eth0 | awk '/inet addr/{print $2}' | awk -F '{print $NF}'

第一种方法:使用grep和cut取值

第二种方法:使用grep和awk(默认分隔符为空格)取值

第三种方法:使用grep和awk(多分隔符)

第四种方法:使用sed和awk

第五种方法:使用grep和awk(多分隔符与加号+)

第六种方法:awk (分隔符及取行)

第七种方法:grep 网卡文件

第八种方法:head取行 awk分割

如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux。

我给出前三个的答案吧

#!/bin/bash

OUTPUT=jk0701_xxx_kstxt

/sbin/ifconfig eth0 | sed -n '/inet addr:/ s/inet addr:/IPADDR=/pg' | awk -F" " '{print $1}' >$OUTPUT

/sbin/ifconfig eth0 | sed -n '/HWaddr/ s/^HWaddr /HWADDR=/pg' >> $OUTPUT

netstat -an |grep ":23" |grep "ESTABLISHED" | grep -cv "grep" >> $OUTPUT

\d+\\d+\\d+\\d\:\d+

import javautilregex;

// 表达式对象

Pattern p = Patterncompile("\\d+\\\\d+\\\\d+\\\\d\\:\\d+");

// 创建 Matcher 对象

Matcher m = pmatcher("");

// 是否找到匹配

boolean found = mfind();

if( found )

{

  String foundstring = mgroup();

  int    beginPos    = mstart();

  int    endPos      = mend();

}

以上就是关于怎么使用LINUX获取本机的网络接口eth1的IP地址和MAC地址全部的内容,包括:怎么使用LINUX获取本机的网络接口eth1的IP地址和MAC地址、shell脚本如何提取ip地址最后一位,如192.168.1.100中的100、请给出Linux中eth0的IP地址和广播地址的指令,需使用cut、awk、grep、sed指令。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9565950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存