2009-03-31 7 views

risposta

1

provare il comando diifconfig.

+1

L'uso di 'ifconfig' come fareste con Linux stampa semplicemente il file di aiuto. – jww

38

Se sei un utente normale (vale a dire, non e 'root') ifconfig non è nel percorso, ma è il comando che si desidera.

In particolare: /usr/sbin/ifconfig -a

+1

Naturalmente, ci possono essere molte interfacce sulla scatola, ognuna con il proprio IP. – chris

+0

Sicuro. In genere ne avrai almeno due: il loopback locale (lo0) e una o più connessioni ethernet (sulla mia macchina, ce0). – Andrew

+0

'-a' Applica il comando a tutte le interfacce della famiglia di indirizzi specificata. Se non viene fornita alcuna famiglia di indirizzi, sulla riga di comando o tramite/etc/default/inet_type, verranno selezionate tutte le famiglie di indirizzi. http://docs.oracle.com/cd/E19253-01/816-5166/6mbb1kq31/ –

5

Di seguito ha funzionato abbastanza bene per me:

ping -s my_host_name 
0
/usr/sbin/host `hostname` 

dovrebbe fare il trucco. Tenete a mente che si tratta di una configurazione abbastanza comune per una scatola di Solaris per avere più indirizzi IP, anche se, in questo caso

/usr/sbin/ifconfig -a inet | awk '/inet/ {print $2}' 

sarà elencarli tutti

3

hostname e uname vi darà il nome dell'host . Quindi utilizzare nslookup per tradurlo in un indirizzo IP.

7
/usr/sbin/ifconfig -a | awk 'BEGIN { count=0; } { if ($1 ~ /inet/) { count++; if(count==2) { print $2; } } }' 

Questo elenco verso il basso l'indirizzo esatto IP per la macchina

5

Il seguente script di shell dà un bel risultato tabellare di interfacce e indirizzi IP (esclusa l'interfaccia di loopback) E 'stato testato su una scatola di Solaris

/usr/sbin/ifconfig -a | awk '/flags/ {printf $1" "} /inet/ {print $2}' | grep -v lo 

ce0: 10.106.106.108 
ce0:1: 10.106.106.23 
ce0:2: 10.106.106.96 
ce1: 10.106.106.109 
2

C'è anche:

getent $HOSTNAME 

o forse:

getent `uname -n` 

Su Solaris 11 il ifconfig comando viene considerato legacy e viene sostituito da ipadm

ipadm show-addr 

mostrerà gli indirizzi IP sul sistema per Solaris 11 e versioni successive.

+0

Il comando * getent * accetta un database come argomento. Forse intendevi 'getent hosts $ HOSTNAME' o' getent hosts \ 'uname -n \' ' –

Problemi correlati