Comment obtenir le nom d'hôte depuis / etc / hostname & DNS domain name?

Réponses:

17

Lorsque vous tapez

hostname

il vous montrera la valeur qui est stockée dans

/etc/hostname

Voir hostname --helppour beaucoup d'options. De l'aide ...

-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

Cette commande peut obtenir ou définir le nom d'hôte ou le nom de domaine NIS. Vous pouvez également obtenir le domaine DNS ou le FQDN (nom de domaine complet). Sauf si vous utilisez bind ou NIS pour les recherches d'hôte, vous pouvez modifier le FQDN (nom de domaine complet) et le nom de domaine DNS (qui fait partie du FQDN) dans le fichier / etc / hosts.


Donc

hostname -f

pour le nom d'hôte long (FQDN).

Rinzwind
la source
J'obtiens: "nom d'hôte: nom ou service
inconnu
Tu as quelque chose dedans /etc/hostname? Celui que nous éditons ici généralement pour apache. exemple de sujet: askubuntu.com/a/218499/15811
Rinzwind
J'ai essayé de cat / etc / hosts, j'obtiens un localhost que je ne devrais pas car je l'exécute sur une machine virtuelle
dada dudu
1
@dadadudu localhostn'est qu'un surnom pour «moi-même» sur un réseau. Tous les ordinateurs (y compris les VM) peuvent se connecter à eux-mêmes en utilisant l' localhostadresse.
Melebius
@dadadudu la VM que j'ai ici a son propre nom (elle s'appelle "test1").
Rinzwind
0

En supposant que vous vouliez votre adresse IPv4 locale (LAN) ....

Pour éviter que votre serveur ne renvoie une longue chaîne qui combine vos adresses IPv4 et IPv6, utilisez-la par programme dans un script bash:

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

Ou tapez ceci sur le CLI:

hostname -I | awk '{print $1}'
MrPotatoHead
la source
Cela ne fonctionne bien que si l'hôte n'a qu'une seule adresse IPv4. Les hôtes IPv6 ont généralement plusieurs adresses IPv6 (une permanente et une ou plusieurs temporaires).
David Foerster
Droite. C'est pourquoi la première ligne de ma suggestion est, "en supposant que vous voulez votre adresse IPv4 locale (LAN) ...." Mais à votre point, 'hostname' n'est pas toujours le meilleur outil pour les informations IP. Dépend de l'objectif. Le PO n'était pas détaillé dans sa question sur ce qu'il voulait (probablement le FQDN, mais c'est de la spéculation de ma part).
MrPotatoHead