Linuxで自機のアドレスを調べるにはip, hostname, ifconfigコマンドを発行します。
最近のLinuxでは、ifconfigからipコマンドに置き換わっています。
CentOS7だと、ifconfigがインストールされていません。
CentOS7の場合、net-toolsをインストールすれば使えるようになりますが…
このような場合は、ipコマンドを使用します。
以下に実行結果を記します。
3例とも同じ出力になっていますね。
~$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:11:22:33:44:1d brd ff:ff:ff:ff:ff:ff inet 192.168.1.31/24 brd 192.168.1.255 scope global dynamic wlo1 valid_lft 14093sec preferred_lft 14093sec
~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:11:22:33:44:1d brd ff:ff:ff:ff:ff:ff inet 192.168.1.31/24 brd 192.168.1.255 scope global dynamic wlo1 valid_lft 14084sec preferred_lft 14084sec
~$ ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:11:22:33:44:1d brd ff:ff:ff:ff:ff:ff inet 192.168.1.31/24 brd 192.168.1.255 scope global dynamic wlo1 valid_lft 14077sec preferred_lft 14077sec
inetをみれば、IPv4のIPアドレスおよびネットマスクが確認できます。
hostnameのヘルプをみると以下の記述があります。
~$ hostname --help Program options: <snip> -i, --ip-address addresses for the host name -I, --all-ip-addresses all addresses for the host -s, --short short host name -y, --yp, --nis NIS/YP domain name <snip>
hostnameの-iオプションを使用することにより、IPアドレスを確認した時の実行結果
しかし、問題があり/etc/hostsから引くようで、以下のようになります。
~$ hostname -i 127.0.1.1
/etc/hostsの内容を出力しているようです。
~$ cat /etc/hosts | grep `hostname` 127.0.1.1 stream
このような場合は、-Iオプションを使用すれば意図した動作になると思います。
$ hostname -I 192.168.1.31
下記コマンドはフルパスで実行しています。
rootユーザであればパスが通っているはずなので、ifconfigのみで実行できると思います。
/sbin/ifconfig
下図は日本語出力の場合です。
inetアドレスがIPアドレスになります。
ちなみにハードウェアアドレスがMACアドレスです。
下図は英語出力の場合です。
inet addrがIPアドレスになります。
ちなみにHWaddrがMACアドレスです。