Как я могу перечислить только имя интерфейса и назначенный IP с ifconfig в терминале

3

Есть ли способ использовать только ifconfigдля отображения только имен сетевых интерфейсов и назначенных им IP-адресов?

Я знаю, что могу сделать, ifconfig | grep inetно это не включает имя интерфейса (en0, en1 и т. Д.)

codecowboy
источник
ifconfig - это в основном утилита конфигурирования, netstat - утилита информации
Ruskes

Ответы:

1

Netstat против ifconfig.

Netstat -i ближе всего я могу найти то, что вы хотите (это немного больше, чем вы просили).

Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs  Coll
lo0   16384 <Link#1>                          7096     0     7096     0     0
lo0   16384 localhost   ::1                   7096     -     7096     -     -
lo0   16384 127           localhost           7096     -     7096     -     -
lo0   16384 localhost   fe80:1::1             7096     -     7096     -     -
gif0* 1280  <Link#2>                             0     0        0     0     0
stf0* 1280  <Link#3>                             0     0        0     0     0
en0   1500  <Link#4>    14:10:9f:f0:29:8c   380920     0   292385     0     0
en0   1500  mynet.local fe80:4::1610:9fff   380920     -   292385     -     -
en0   1500  10.5.50/24    10.5.50.95        380920     -   292385     -     -
en3   1500  <Link#5>    32:00:1a:e9:a9:a0        0     0        0     0     0
bridg 1500  <Link#6>    16:10:9f:0f:1e:00        0     0        0     0     0
p2p0  2304  <Link#7>    06:10:9f:f0:29:8c        0     0        0     0     0
Ruskes
источник
4

Вы можете запустить, ifconfig -lчтобы получить список интерфейсов, а затем перебрать их.

(Баш)

for i in `ifconfig -l `; do echo $i; ifconfig $i | grep "inet " ; done

Это выведет интерфейс на одной строке, а информацию «inet» на следующей строке. Обратите внимание, что если вы ищете только «inet», строка «inet6» также будет отображаться.

Кент
источник