คำสั่ง ip ในเทอร์มินัล Mac OS X


64

ฉันใช้คำสั่งip linkใน Linux ตอนนี้ฉันต้องการมันบน Mac OS X แต่ขั้ว Mac OS X ipไม่ได้ ฉันควรใช้อะไรแทน


ฉันคิดว่าถ้าชุมชน Linux ต้องการ 'ip' แทน 'ifconfig' ก็จะเป็นประโยชน์สำหรับ 'ip' ที่จะใช้งานได้ทั้ง Unix และ Linux
Scott Skiles

คำตอบ:


89

คุณสามารถใช้ในการติดตั้งbrew iproute2macจริงๆแล้วมันเป็น Piper wrapper ที่ให้ API ที่คล้ายกันมากซึ่งคุณอาจจะคุ้นเคยกับipเครื่องมือที่มาพร้อมกับiproute2Linux

การติดตั้ง

$ 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

อ้างอิง


6

ifconfigใช้คำสั่งปกติสำหรับยูนิกซ์เช่นระบบ:

(Linux ยังใช้ ifconfig แต่เครื่องมือบางอย่างมีเวอร์ชันที่ใหม่กว่าipเป็นหนึ่งในสิ่งเหล่านี้ซึ่งหนึ่งวันจะแทนที่ ifconfig เดิม)


ฉันจะติดตั้งคำสั่ง ip นี้บน Mac OS ได้อย่างไร ฉันต้องการคุณสมบัติบางอย่างเช่นเพิ่ม MAC-VLAN!
Aryan

ฉันไม่แน่ใจว่าคุณสามารถ ทั้งโลก (ดียกเว้นหน้าต่างที่ใช้ ipconfig และ linuxes บางรุ่นที่ใช้ทั้ง ip และ ifconfig) ใช้ ifconfig ซึ่งรวมถึง OS X. ฉันมีแม็เพื่อทดสอบไม่มี แต่ผมจะมองไปที่คำสั่งvconfig add n0 42(กำหนดค่า VLAN 42 สำหรับ EN0 เชื่อมต่อเครือข่าย) ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 upตามด้วยสิ่งที่ชอบ
Hennes

1
ifconfigส่งออกสายที่ไม่จำเป็นค่อนข้างมาก หาก IP คือทุกสิ่งที่คุณต้องการใช้ifconfig | grep inetแทน
Akseli Palén

นอกจากนี้ ifconfig เลิกใช้แล้ว: google.de/…
oleiade

3

มีวิธีที่ง่ายกว่าโดยไม่ต้องติดตั้งเครื่องมือใด ๆ :

$ which ifconfig
/sbin/ifconfig

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

0

ไม่มีคำสั่ง ip ใน Mac รับจากการชงหรือใช้:

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

คุณสามารถสร้างนามแฝงได้~/.bash_profileดังนี้:

alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.