Linux および OS X でローカル マシンのプライマリ IP アドレスを取得する方法 [closed] 質問する

Linux および OS X でローカル マシンのプライマリ IP アドレスを取得する方法 [closed] 質問する

127.0.0.1以外のローカルホストのプライマリ(最初の)IPアドレスを返すコマンドラインソリューションを探しています。

このソリューションは、少なくともLinux(DebianおよびRedHat)およびOS X 10.7以降で動作するはずです。

ifconfig両方で利用可能であることは承知していますが、その出力はこれらのプラットフォーム間でそれほど一貫していません。

ベストアンサー1

grepIP アドレスをフィルタリングするために使用しますifconfig:

ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

または、以下を使用しますsed:

ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'

特定のインターフェース(wlan0、eth0 など)のみに関心がある場合は、次のようにします。

ifconfig wlan0 | ...

コマンドにエイリアスを付けて、たとえばという独自のコマンドを作成.bashrcできます。myip

alias myip="ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'"

もっと簡単な方法はhostname -I(hostname -iの古いバージョンについてはhostnameコメントを参照してください) です。ただし、これは Linux のみです。

おすすめ記事