Linuxでは、Bashターミナルを使用して次のことができます。
hostname -d
DNS ドメインの名前を表示します。hostname -i
ホスト名のネットワークアドレスを表示します。
権限を上げずに単一のコマンド(必要に応じてオプションを含む)を使用してMac OS XのBash端末から同じ情報を取得するにはどうすればよいですか?
ちなみに、Mac OS Xで使用するBashのバージョンは次のとおりです。
- GNU bash、バージョン3.2.57(1)-リリース(x86_64-apple-darwin15)。
答え1
hostname -d
使用するためのhostname -f
:
hostname -f | sed -e 's/^[^.]*\.//'
IPアドレスの場合ifconfig -a
(inet
データ検索)を使用してください。お使いのコンピュータにはネットワークデバイスが1つしかないため、en0
次のことができます。
ifconfig en0 |awk '/inet / {print $2; }'
すべてのネットワーク機器に興味がある場合は、ifconfig -l
これらの機器がリストされていることを覚えておいてください。これにはデバイスとそのアドレスがリストされます。
#!/bin/sh
for name in $(ifconfig -l)
do
ifconfig $name |awk -v name=$name '/inet / {printf "%s: %s\n", name, $2; }'
done
追加資料:
答え2
使っています
scutil --dns | grep 'search domain' | head -n 1 | grep -o '[a-zA-Z0-9.-]\+$'
場合によっては、これはうまくいくようですが、YMMVです。私のプロファイル(macのみ)でこれをエイリアスに設定し、dnsdomainname
Linux(代わりにhostname -d
)で動作します。
答え3
ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')
答え4
「破棄」を使用してください。 whoisに類似
発掘ホスト名=>ホスト名+ipaddy
破棄IP.アドレス=>不完全