Linux/UNIXでifconfig・ip・hostnameコマンドからOSのIPアドレスのみを取得する

LinuxやUNIXで、ただIPアドレスを知りたいだけではなく、IPアドレスのみを取得する場合、以下のようにすると良いだろう。

1.ifconfig・ipコマンドで取得する場合

ifconfig・ipコマンドでIPアドレスのみを抽出する場合、以下のようにする。

ifconfigコマンド

ifconfig インターフェイス名 | grep 'inet' | cut -d: -f2 | awk '{ print $1}'

ipコマンド

ip addr list インターフェイス名 | grep "inet " | cut -d' ' -f6 | cut -d/ -f1
ip -o -4 addr show | awk -F '[ /]+' '/global/ {print $4}' # 複数インターフェイスある場合

2.hostnameコマンドで取得する場合

IPアドレスのみを抽出する場合、hostnameコマンドで抽出することもできる。

hostname -i

複数設定している場合は、以下のコマンドで取得出来る。

hostname -I