回答:
このコードを試して、UNIXマシンのIPアドレスを確認します。
nslookup mach_name
ifconfigを使用して、システム上の任意のインターフェースのIPアドレスを取得できます(複数のインターフェースと複数のIPアドレスが存在する可能性があることに注意してください)。
皮切りに:
$ ifconfig -a
en0
より一般的な答えは、使用することifconfig -a
です。また、ifconfig
バイナリは常にオンになっていないPATH
、彼らはのような様々な呪文試してみる必要があるかもしれないので、普通のユーザーのために/sbin/ifconfig -a
、/etc/ifconfig -a
rootと試みとして、またはログインをifconfig -a
。
host `hostname`
またはこれ
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
nslookupから始める
nslookup `hostname`
次に「住所」を検索します
nslookup `hostname` | grep -i address
これは次のようなものを返します
Address: 192.168.1.1#53
Address: 192.168.1.167
次に、テキストの2番目の列を選択して、住所のみを取得します。「」をフィールドセパレータとして渡します
nslookup `hostname` | grep -i address | awk -F" " '{print $2}'
最初の列を選択して、「#53」の部分を削除します。フィールドセパレータとして「#」を渡します
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'
最後のアドレスはローカルアドレスです。尾は私たちがそれを取得するのに役立ちます。
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
の代替手段ipconfig
はip(8)
、出力をいくらか狭めることができる場合です。例えば:
$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
inet 172.31.39.10/24 brd 172.31.39.255 scope global eth0
ループバック(lo)でないインターフェースは、あなたが望むものです: 172.31.39.10
出力ifconfig
のinet
一部を使用して探します。複数のネットワークカード(イーサネットとワイヤレスなど)がある場合は、複数のエントリがあることに注意してください。