मैक ओएस एक्स टर्मिनल में आईपी कमांड


64

मैं ip linkलिनक्स में कमांड का उपयोग करता हूं । अब मैं इसे मैक ओएस एक्स पर चाहता हूं, लेकिन मैक ओएस एक्स टर्मिनल नहीं है ip। मुझे इसके बजाय क्या उपयोग करना चाहिए?


मुझे लगता है कि यदि लिनक्स समुदाय 'ifconfig' को बदलने के लिए 'ip' चाहता है तो यह 'ip' के लिए यूनिक्स और लिनक्स दोनों पर उपलब्ध होगा।
स्कॉट स्काइल्स

जवाबों:


89

आप brewस्थापित करने के लिए उपयोग कर सकते हैं iproute2mac। यह वास्तव में एक पायथन रैपर है जो बहुत ही समान एपीआई प्रदान करता है जो आपको संभवतः लिनक्स पर ipशामिल टूल से बहुत परिचित होगा iproute2

स्थापना

$ 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लिनक्स पर कमांड की नकल करता है ।

$ 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.

उदाहरण

इंटरफ़ेस en0 पर IP पते दिखाएं।

$ 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:।

(लिनक्स भी ifconfig का उपयोग करता है, लेकिन कुछ टूल के नए संस्करण हैं। ipइनमें से एक है जो एक दिन पुराने ifconfig को बदल देगा।)


मैं मैक ओएस पर इस आईपी कमांड को कैसे स्थापित कर सकता हूं? मुझे कुछ सुविधा चाहिए जैसे MAC-VLAN जोड़ें!
आर्यन

मुझे यकीन नहीं है कि आप कर सकते हैं। पूरी दुनिया (अच्छी तरह से, सिवाय विंडोज़ के जो ipconfig का उपयोग करता है और कुछ आधुनिक linuxes जो ip और ifconfig दोनों का उपयोग करते हैं) ifconfig का उपयोग करता है। इसमें OS X शामिल है। मेरे पास परीक्षण करने के लिए कोई मैक नहीं है, लेकिन मैं vconfig add n0 42कमांडों को देखूंगा (नेटवर्क इंटरफ़ेस EN0 के लिए VLAN 42 को कॉन्फ़िगर करें) कुछ इस तरह से ifconfig en0.5 1.2.3.3 netmask 255.255.128.0 broadcast 1.2.3.255 up
हेन्नेस

1
ifconfigकाफी अनावश्यक लाइनें उत्पन्न करता है। अगर आईपी सब कुछ आप के ifconfig | grep inetबजाय उपयोग की जरूरत है।
अक्सेली पालेन

इसके अलावा, ifconfig पदावनत है: google.de/…
oleiade

3

किसी भी उपकरण को स्थापित किए बिना एक सरल तरीका है:

$ which ifconfig
/sbin/ifconfig

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

0

Mac में कोई ip कमांड नहीं है। इसे काढ़ा या उपयोग से प्राप्त करें:

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

आप ~/.bash_profileनिम्नानुसार एक उपनाम बना सकते हैं :

alias ip-addr="ifconfig en0| grep \"inet[ ]\" | awk '{print \$2}'"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.