lệnh ip trong thiết bị đầu cuối Mac OS X


64

Tôi sử dụng lệnh ip linktrong Linux. Bây giờ tôi muốn nó trên Mac OS X, nhưng thiết bị đầu cuối Mac OS X không có ip. Tôi nên sử dụng cái gì thay thế?


Tôi nghĩ rằng nếu cộng đồng Linux muốn 'ip' thay thế 'ifconfig' thì sẽ hữu ích cho 'ip' trên cả Unix và Linux.
Scott Skiles

Câu trả lời:


89

Bạn có thể sử dụng brewđể cài đặt iproute2mac. Đây thực sự là một trình bao bọc Python cung cấp API rất giống mà bạn có thể thấy rất quen thuộc với ipcông cụ có iproute2trong Linux.

Cài đặt

$ 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

Sử dụng

Sau khi cài đặt, bạn sẽ được cung cấp một công cụ dòng lệnh cho tất cả các mục đích có mục đích bắt chước iplệnh trên 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.

Ví dụ

Hiển thị địa chỉ IP trên giao diện 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

Hiển thị chi tiết về liên kết 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

Người giới thiệu


6

Sử dụng lệnh bình thường cho unix như các hệ thống : ifconfig.

(Linux cũng sử dụng ifconfig, nhưng một số công cụ có phiên bản mới hơn. ipĐây là một trong những công cụ mà một ngày nào đó sẽ thay thế ifconfig cũ.)


Làm thế nào tôi có thể cài đặt lệnh ip này trên Mac OS? Tôi muốn một số tính năng như thêm MAC-Vlan!
Aryan

Tôi không chắc bạn có thể. Toàn bộ thế giới (tốt, ngoại trừ các cửa sổ sử dụng ipconfig và một số linux hiện đại sử dụng cả ip và ifconfig) sử dụng ifconfig. Điều này bao gồm OS X. Tôi không có mac để kiểm tra, nhưng tôi sẽ xem xét các lệnh vconfig add n0 42(cấu hình Vlan 42 cho giao diện mạng EN0) theo sau là một cái gì đó như ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 up.
Hennes

1
ifconfigđầu ra khá nhiều dòng không cần thiết. Nếu IP là tất cả mọi thứ bạn cần sử dụng ifconfig | grep inetthay thế.
Akseli Palén

Ngoài ra, ifconfig không được dùng nữa: google.de/
oleiade

3

Có một cách đơn giản hơn mà không cần cài đặt bất kỳ công cụ nào:

$ which ifconfig
/sbin/ifconfig

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

0

Không có lệnh ip trong Mac. Lấy nó từ bia hoặc sử dụng:

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

Bạn có thể tạo một bí danh ~/.bash_profilenhư sau:

alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.