如何获取给定IP地址的以太网端口?

fzk*_*zkl 5 bash shell ethernet ifconfig

我正在尝试编写一个bash脚本来获取我知道的IP地址的接口的以太网端口.我需要从ifconfig中获取它,但似乎无法弄清楚如何去做.有任何想法吗?

谢谢.

Nic*_*ick 7

将127.0.0.1替换为您要获取其接口信息的IP地址

ifconfig  | grep 127.0.0.1 -B1 | grep Link | cut -f 1 '-d '
Run Code Online (Sandbox Code Playgroud)

如果您还想识别计算机上的物理端口,请运行

ethtool -p $OUTPUT_OF_FIRST_COMMAND
Run Code Online (Sandbox Code Playgroud)

它将闪烁与该接口关联的以太网卡上的指示灯


Sha*_*hin 4

有点乱,但应该可以:

/sbin/ifconfig | grep -B1 1.2.3.4 | awk '{print $1; exit}'
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用ip命令,该命令与-o|-oneline选项一起使用时更容易解析。例如

ip -o addr | awk '/1.2.3.4/{print $2}'
Run Code Online (Sandbox Code Playgroud)