
En Linux, usando una Terminal Bash, puedo hacer:
hostname -d
para mostrar el nombre del dominio DNS, yhostname -i
para 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 inet
datos). Es posible que su máquina tenga solo un dispositivo de red, en0
por 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 -l
se 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 dnsdomainname
funciona 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