web-dev-qa-db-ja.com

Mac OS X端末のipコマンド

Linuxではコマンドip linkを使います。今私はそれをMac OS X上で欲しいのですが、Mac OS Xターミナルにはipがありません。代わりに何を使うべきですか?

58
Aryan

brewを使ってiproute2macをインストールすることができます。これは実際にはPythonラッパーです。Linuxのiproute2に含まれるipツールに馴染みのある非常によく似たAPIを提供します。

Installation

$ 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

使用法

インストールが完了すると、Linux上で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

参考文献

74
slm

Unix風のシステムでは通常のコマンドifconfigを使います。

(Linuxもifconfigを使用していますが、いくつかのツールにはより新しいバージョンがあります。ipはそのうちの1つで古いifconfigに代わるものです。)

6
Hennes

ツールをインストールせずにもっと簡単な方法があります。

$ which ifconfig
/sbin/ifconfig

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

Macにはipコマンドはありません。醸造所から入手するか、または使用します。

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

次のように~/.bash_profileにエイリアスを作成できます。

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