네트워크 인터페이스 데이터를 가져오기 위해 다음 명령을 실행하는 경우:
[root@pi lib]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.154 netmask 255.255.255.0 broadcast 192.168.0.255
ether b8:27:eb:3c:03:fe txqueuelen 1000 (Ethernet)
RX packets 44219 bytes 17569207 (16.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9964 bytes 7176485 (6.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 229 bytes 21989 (21.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 229 bytes 21989 (21.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 00:11:6b:f0:bb:31 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@pi lib]#
터미널에서 네트워크 인터페이스 이름, IP, 서브넷 마스크, 게이트웨이 및 MAC 주소를 얻는 방법은 무엇입니까?
답변1
을 사용하는 것이 더 나을 수 있지만 ip a
현재 출력에 따라 다음을 사용할 수 있습니다 awk
.
awk '
BEGIN { RS="\n\n"}
/eth0/ && /UP/ {ifc=$1; ip=$6; subn=$8; gway=$10; mac=$12}
END {print "Interface: "ifc "\nIP: "ip "\nSubnet: "subn "\nGateway: "gway "\nMac: "mac}
' <(ifconfig -a)
Interface: eth0:
IP: 192.168.0.154
Subnet: 255.255.255.0
Gateway: 192.168.0.255
Mac: b8:27:eb:3c:03:fe
인터페이스가 시작될 때만 세부 정보가 인쇄됩니다.
답변2
이것이 당신에게 도움이 될 것입니다
ip rl && ip addr show {인터페이스 이름} |
전임자. ip rl && ip addr show eth0 |
샘플 출력
ip r l && ip addr show wlan0 | grep ether default via 192.168.1.254 dev wlan0 proto static 192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.42 link/ether e4:d5:3d:ef:90:a9 brd ff:ff:ff:ff:ff:ff
ip r l
그러면 게이트웨이, IP, 인터페이스, 넷마스크가 제공됩니다.
ip addr show {interface name}
그러면 Mac 주소의 나머지 세부 정보가 제공됩니다.