perintah ip di terminal Mac OS X

64

Saya menggunakan perintah ip linkdi Linux. Sekarang saya menginginkannya di Mac OS X, tetapi terminal Mac OS X tidak memilikinya ip. Apa yang harus saya gunakan?

Arya
sumber
Saya pikir jika komunitas Linux ingin 'ip' untuk menggantikan 'ifconfig' maka akan sangat membantu untuk 'ip' tersedia di Unix dan Linux.
Scott Skiles

Jawaban:

89

Anda dapat menggunakannya brewuntuk menginstal iproute2mac. Ini sebenarnya adalah pembungkus Python yang menyediakan API yang sangat mirip yang Anda mungkin akan sangat akrab dengan ipalat yang disertakan dengan iproute2di Linux.

Instalasi

$ 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

Pemakaian

Setelah terinstal, Anda akan diberi alat baris perintah yang untuk semua maksud maksud meniru ipperintah di 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.

Contohnya

Tampilkan alamat IP pada antarmuka 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

Tampilkan detail tentang tautan 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

Referensi

slm
sumber
6

Gunakan perintah normal untuk unix seperti sistem: ifconfig.

(Linux juga menggunakan ifconfig, tetapi beberapa alat memiliki versi yang lebih baru. ipAdalah salah satunya yang suatu hari akan menggantikan ifconfig yang lama.)

Hennes
sumber
Bagaimana saya bisa menginstal perintah ip ini di Mac OS? Saya ingin beberapa fitur seperti tambahkan MAC-VLAN!
Aryan
Saya tidak yakin Anda bisa. Seluruh dunia (well, kecuali windows yang menggunakan ipconfig dan beberapa linux modern yang menggunakan ip dan ifconfig) menggunakan ifconfig. Ini termasuk OS X. Saya tidak punya mac untuk diuji, tapi saya akan melihat perintah vconfig add n0 42(mengkonfigurasi VLAN 42 untuk antarmuka jaringan EN0) diikuti oleh sesuatu seperti ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 up.
Hennes
1
ifconfigmenghasilkan cukup banyak baris yang tidak perlu. Jika IP adalah semua yang perlu Anda gunakan ifconfig | grep inetsebagai gantinya.
Akseli Palén
Juga, ifconfig sudah tidak digunakan lagi: google.de/…
oleiade
3

Ada cara yang lebih sederhana tanpa menginstal alat apa pun:

$ which ifconfig
/sbin/ifconfig

$ ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2
10.16.45.123
Andrei Sura
sumber
0

Tidak ada perintah ip di Mac. Dapatkan dari minuman atau gunakan:

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

Anda dapat membuat alias di ~/.bash_profilesebagai berikut:

alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"
Loke
sumber