/ etc / hostnameとDNSドメイン名からホスト名を取得する方法は?


回答:


17

入力するとき

hostname

に保存されている値が表示されます

/etc/hostname

hostname --help多くのオプションを参照してください。ヘルプから...

-s, --short            short host name
-a, --alias            alias names
-i, --ip-address       addresses for the host name
-I, --all-ip-addresses all addresses for the host
-f, --fqdn, --long     long host name (FQDN)
-A, --all-fqdns        all long host names (FQDNs)
-d, --domain           DNS domain name
-y, --yp, --nis        NIS/YP domain name
-b, --boot             set default hostname if none available
-F, --file             read host name or NIS domain name from given file

このコマンドは、ホスト名またはNISドメイン名を取得または設定できます。DNSドメインまたはFQDN(完全修飾ドメイン名)を取得することもできます。ホストルックアップにバインドまたはNISを使用していない限り、/ etc / hostsファイルでFQDN(完全修飾ドメイン名)およびDNSドメイン名(FQDNの一部)を変更できます。


そう

hostname -f

長いホスト名(FQDN)用。


私が取得:「ホスト名:名前またはサービス知られていない」
ダダをドゥドゥ

何かあり/etc/hostnameますか?ここで我々が通常編集するのはApacheです。トピックの例:askubuntu.com/a/218499/15811
Rinzwind

猫の/ etc / hostsしようとした私はVM上でそれを実行するべきではないとしてlocalhostを取得
ドゥドゥダダ

1
@dadadudu localhostは、ネットワーク上の「自分」の単なるニックネームです。すべてのコンピューター(VMを含む)は、localhostアドレスを使用して自分自身に接続できます。
メレビウス

@dadaduduここにあるVMには独自の名前が付いています(「test1」と呼ばれます)。
リンツウィンド

0

ローカル(LAN)IPv4アドレスが必要だと仮定すると...

サーバーがIPv4アドレスとIPv6アドレスを組み合わせた長い文字列を返すのを回避するには、プログラムでbashスクリプトでこれを使用します。

LOCALIP=$(hostname -I | awk '{print $1}')

または、CLIでこれを入力します。

hostname -I | awk '{print $1}'

これは、ホストにIPv4アドレスが1つしかない場合にのみ有効です。IPv6ホストには通常、複数のIPv6アドレスがあります(1つは永続的で、1つ以上は一時的)。
デビッドフォースター

正しい。だからこそ、私の提案の最初の行は、「ローカル(LAN)IPv4アドレスが必要だと仮定して...」ですが、あなたの要点としては、 'ホスト名'は常にIP情報の最良のツールではありません。目標に依存します。OPは、彼らが何を望んでいるかについての彼/彼女の質問で詳述されていません(おそらくFQDNですが、それは私の側の推測です)。
-MrPotatoHead
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.