Terminal Mac OS X equivalente para información de nombre de host

Terminal Mac OS X equivalente para información de nombre de host

En Linux, usando una Terminal Bash, puedo hacer:

  • hostname -dpara mostrar el nombre del dominio DNS, y
  • hostname -ipara mostrar las direcciones de red del nombre de host.

¿Cómo puedo recuperar la misma información, preferiblemente usando un solo comando (con opción, si es necesario) y sin tener que elevar los privilegios, desde una terminal Bash en Mac OS X?

Como referencia, aquí está la versión de Bash que estoy usando en Mac OS X:

  • GNU bash, versión 3.2.57(1) (x86_64-apple-darwin15).

Respuesta1

Para el hostname -d, utilice hostname -f:

hostname -f | sed -e 's/^[^.]*\.//'

Para direcciones IP, utilice ifconfig -a(busque los inetdatos). Es posible que su máquina tenga solo un dispositivo de red, en0por lo que puede hacer simplemente

ifconfig en0 |awk '/inet / {print $2; }'

Si está interesado en todos los dispositivos de red, tenga en cuenta que allí ifconfig -lse enumeran los dispositivos. Esto enumera los dispositivos y sus direcciones correspondientes:

#!/bin/sh
for name in $(ifconfig -l)
do
    ifconfig $name |awk -v name=$name '/inet / {printf "%s: %s\n", name, $2; }'
done

Otras lecturas:

Respuesta2

estoy usando

scutil --dns | grep 'search domain' | head -n 1 | grep -o '[a-zA-Z0-9.-]\+$'

que parece funcionar mejor en algunas circunstancias, pero YMMV. Hago de este un alias en mi perfil (solo para Mac) que dnsdomainnamefunciona en Linux (en lugar de hostname -d).

Respuesta3

ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')

Respuesta4

Utilice 'excavar'. Buscar comandos similares a whois

cavar nombre de host => ambos nombre de host + ipaddy

dig ip.address => no tan completo

información relacionada