Я использую команду ip link
в Linux. Теперь я хочу это на Mac OS X, но у терминала Mac OS X нет ip
. Что я должен использовать вместо этого?
4 ответа
Вы можете использовать brew
для установки iproute2mac
. На самом деле это оболочка Python, которая предоставляет очень похожий API, который вы, вероятно, найдете очень знакомым для инструмента ip
, включенного в iproute2
в Linux.
Монтаж
$ brew install iproute2mac
==> Installing iproute2mac from brona/homebrew-iproute2mac
==> Downloading https://github.com/brona/iproute2mac/archive/v1.0.3.zip
######################################################################## 100.0%
/usr/local/Cellar/iproute2mac/1.0.3: 4 files, 24K, built in 2 seconds
использование
После установки вам будет предоставлен инструмент командной строки, который для любых целей имитирует команду ip
в Linux.
$ ip
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip -V
where OBJECT := { link | addr | route | neigh }
OPTIONS := { -4 | -6 }
iproute2mac
Homepage: https://github.com/brona/iproute2mac
This is CLI wrapper for basic network utilities on Mac OS X inspired with iproute2 on Linux systems.
Provided functionality is limited and command output is not fully compatible with iproute2.
For advanced usage use netstat, ifconfig, ndp, arp, route and networksetup directly.
Примеры
Показать IP-адреса на интерфейсе en0.
$ ip addr show en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 54:46:12:fc:45:12
inet6 fe80::3636:3bff:fecf:1294/64 scopeid 0x4
inet 192.168.1.5/24 brd 192.168.1.255 en0
Показать подробности о ссылке en1.
$ ip link show en1
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 72:00:08:81:d2:10
media: autoselect <full-duplex>
status: inactive
Рекомендации
Используйте обычную команду для Unix-подобных систем: ifconfig
.
(Linux также использует ifconfig, но некоторые из инструментов имеют более новые версии. ip
- одна из них, которая однажды заменит старый ifconfig.)
Существует более простой способ без установки каких-либо инструментов:
$ which ifconfig
/sbin/ifconfig
$ ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2
10.16.45.123
В Mac нет команды ip. Получить его из варева или использовать:
ifconfig en0| grep "inet[ ]" | awk '{print $2}'
Вы можете создать псевдоним в ~/.bash_profile
следующим образом:
alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"