Mac で ローカル IP アドレス(ipv4)のみを表示する

2020/08/17

Mac でそのまま ifconfig を利用すると、IP アドレスがすぐに見つけられません。


$ ifconfig
lo0: flags=8049 up,loopback,running,multicast  mtu 16384
    options=1203 rxcsum,txcsum,txstatus,sw_timestamp 
    inet 127.0.0.1 netmask 0xff000000 
...

ネットワークインターフェイスを指定する

ネットワークインターフェイスを指定すると比較的見やすくなります。


$ ifconfig en0
en0: flags=xxxxxxxxxx mtu 1500
    ether xx:xx:xx:xx:xx:xx
    inet6 xx:xx:xx:xx:xx:xx%en0 prefixlen 64 secured scopeid 0x7 
    inet 192.168.1.6 netmask 0xffffff00 broadcast 192.168.1.255
    ....

「en0」は PC のネットワークボードによってことなりますが、デフォルトはだいたい「en0」です。

フィルタリングする

更に awk で inet の欄をフィルタリングします。


$ ifconfig en0 | awk '/inet / { print $2 }'
192.168.1.6

.bashrc にエイリアスを作成する

フィルタリングのコマンドを打つのも面倒なので、.bashrc に ip というエイリアスを作成します。
※エイリアス名の ip は簡略化しているので自己責任で

vi などで .bashrc を編集します。


$ vi ~/.bashrc

.bashrc に追加しますが、「'」(シングルクォート)は「'\''」とエスケープする必要があります。


alias ipconfig='ifconfig en0 | awk '\''/inet / { print $2 }'\'''

.bashrc を再読み込みします。


$ source ~/.bashrc

ip と入力すると IPアドレスが表示されます。


$ ip
192.168.1.6