comando ip nel terminale Mac OS X.


64

Uso il comando ip linkin Linux. Ora lo voglio su Mac OS X, ma il terminale Mac OS X non ha ip. Cosa dovrei usare invece?


Penso che se la comunità Linux vuole che "ip" sostituisca "ifconfig", sarebbe utile che "ip" sia disponibile su Unix e Linux.
Scott Skiles,

Risposte:


89

Puoi usare brewper installare iproute2mac. In realtà è un wrapper Python che fornisce un'API molto simile che probabilmente troverai molto familiare allo ipstrumento incluso iproute2in Linux.

Installazione

$ 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

uso

Una volta installato ti verrà dato uno strumento da riga di comando che a tutti gli effetti imita il ipcomando su 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.

Esempi

Mostra gli indirizzi IP sull'interfaccia 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

Mostra i dettagli sul link 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

Riferimenti


6

Utilizzare il comando normale per unix come i sistemi: ifconfig.

(Linux usa anche ifconfig, ma alcuni degli strumenti hanno versioni più recenti. ipÈ uno di questi che un giorno sostituirà il vecchio ifconfig.)


Come potrei installare questo comando ip su Mac OS? Voglio alcune funzionalità come aggiungere MAC-VLAN!
Aryan,

Non sono sicuro che tu possa. Il mondo intero (beh, tranne Windows che usa ipconfig e alcuni Linux moderni che usano sia ip che ifconfig) usa ifconfig. Questo include OS X. Non ho Mac con cui testare, ma guarderei i comandi vconfig add n0 42(configura VLAN 42 per l'interfaccia di rete EN0) seguito da qualcosa del genere ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 up.
Hennes,

1
ifconfiggenera molte linee non necessarie. Se l'IP è tutto ciò che ti serve, ifconfig | grep inetinvece.
Akseli Palén,

Inoltre, ifconfig è obsoleto: google.de/…
oleiade

3

Esiste un modo più semplice senza installare strumenti:

$ which ifconfig
/sbin/ifconfig

$ ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2
10.16.45.123

0

Non esiste un comando ip in Mac. Prendi da birra o usa:

ifconfig en0| grep "inet[ ]" | awk '{print $2}'

È possibile creare un alias nel modo ~/.bash_profileseguente:

alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.