ip 명령을 사용하여 IP 주소가 있는 네트워크 인터페이스만 표시

ip 명령을 사용하여 IP 주소가 있는 네트워크 인터페이스만 표시

나는 ip내 컴퓨터의 IP 주소를 얻기 위해 a를 사용합니다. 때로는 20개 이상의 네트워크 인터페이스가 있으면 식별하기가 어려워집니다.

IP가 있는 네트워크 인터페이스만 표시하는 방법이 있습니까? IP 주소가 없는 네트워크 인터페이스는 무시되어야 하며 표시되어서는 안 됩니다.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 4c:cc:6a:32:42:0b brd ff:ff:ff:ff:ff:ff
inet 10.76.99.232/23 brd 10.76.99.255 scope global noprefixroute dynamic eno1
   valid_lft 81438sec preferred_lft 81438sec
inet6 fe80::4cd3:b92f:e2:54c8/64 scope link noprefixroute 
   valid_lft forever preferred_lft forever
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:67:f0:89 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
   valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:67:f0:89 brd ff:ff:ff:ff:ff:ff   
5: virbr1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:8e:77:61 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.1/24 brd 192.168.100.255 scope global virbr1
   valid_lft forever preferred_lft forever
6: virbr1-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr1 state DOWN group default qlen 1000
link/ether 52:54:00:8e:77:61 brd ff:ff:ff:ff:ff:ff
7: br-251ee4bbddbc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
link/ether 02:42:59:14:5d:96 brd ff:ff:ff:ff:ff:ff
inet 172.20.0.1/16 brd 172.20.255.255 scope global br-251ee4bbddbc
   valid_lft forever preferred_lft forever
inet6 fe80::42:59ff:fe14:5d96/64 scope link 
   valid_lft forever preferred_lft forever
8: br-7d1010889446: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
link/ether 02:42:e9:35:47:a7 brd ff:ff:ff:ff:ff:ff
inet 172.19.0.1/16 brd 172.19.255.255 scope global br-7d1010889446
   valid_lft forever preferred_lft forever
9: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
link/ether 02:42:a2:bf:15:a8 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
   valid_lft forever preferred_lft forever
inet6 fe80::42:a2ff:febf:15a8/64 scope link 
   valid_lft forever preferred_lft forever
11: veth42032d5@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-251ee4bbddbc state UP group default 
link/ether 56:1f:89:31:03:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::541f:89ff:fe31:302/64 scope link 
   valid_lft forever preferred_lft forever 
13: veth6b578c7@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
link/ether da:12:96:51:48:48 brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::d812:96ff:fe51:4848/64 scope link 
   valid_lft forever preferred_lft forever
15: veth36b9b3b@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-251ee4bbddbc state UP group default 
link/ether 9e:89:cb:57:36:67 brd ff:ff:ff:ff:ff:ff link-netnsid 2
inet6 fe80::9c89:cbff:fe57:3667/64 scope link 
   valid_lft forever preferred_lft forever
34: br-22ddff6ae6ef: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
link/ether 02:42:d7:77:d5:2d brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-22ddff6ae6ef
   valid_lft forever preferred_lft forever

예상 출력(대략):

1. eno1: 10.76.99.232 
3. virbr0: 192.168.122.1
5. virbr1: 192.168.100.1 

등.

도구를 사용하여 필터링하는 기본 방법을 찾고 있습니다 ip. 예상되는 결과를 얻기 위해 다른 도구를 사용하는 것도 좋습니다.

답변1

ip -4 -brief address show

IPv4만 표시하도록 지정되었으므로(예: 이더넷이나 IPv6 주소가 아님) IPv4 주소가 있는 인터페이스만 표시하면서 최소한의 주소 정보를 표시합니다.

이 옵션은 최근(2015) iproute2 유틸리티에 추가되었으며 배포판으로 이동하는 데 시간이 걸렸습니다. 예를 들면 다음과 같습니다.

  • Debian 9에서는 사용할 수 있지만 Debian 8에서는 사용할 수 없습니다.
  • RHEL 7.5에서는 사용할 수 있지만 일부 이전 RHEL 7 릴리스에서는 사용할 수 없습니다.

업스트림 커밋:

링크 및 주소에 대한 간략한 출력 지원 추가

출력은 아마도 다음과 같이 시작될 것입니다.

$ ip -4 -brief address show
lo               UNKNOWN        127.0.0.1/8 
eno1             UP             10.76.99.232/23
virbr0           UP             192.168.122.1/24 
virbr1           UP             192.168.100.1/24 

...

답변2

ip -o addr show  

옵션일 것입니다. 각 IP 주소는 한 줄에 표시되며, IP 주소가 두 개 이상인 인터페이스의 경우 여러 줄이 표시되고 주소가 없는 인터페이스의 경우 줄이 표시되지 않습니다.

읽다 man ip.

관련 정보