Auf meinem Server geben beide den Hostnamen zurück:
$ ubuntu@mt-solo:~$ uname -n
myserver
$ ubuntu@mt-solo:~$ hostname
myserver
Ist das immer so?
Auf meinem Server geben beide den Hostnamen zurück:
$ ubuntu@mt-solo:~$ uname -n
myserver
$ ubuntu@mt-solo:~$ hostname
myserver
Ist das immer so?
Antworten:
Unter Linux sind sie gleichwertig. Einer wird nur in das uname
Dienstprogramm und der andere in das hostname
Dienstprogramm eingebrannt .
uname -n
Druckt den Netzwerkknoten-Hostnamen oder "Knotennamen".
hostname
Gibt ohne Argumente den Namen des Systems aus, der von der Funktion gethostname () zurückgegeben wird.
Die uname()
Funktionsdokumentation enthält folgende Informationen:
Beachten Sie, dass es keinen Standard gibt, der besagt, dass der durch sethostname (2) festgelegte Hostname dieselbe Zeichenfolge ist wie das von uname () zurückgegebene Knotennamenfeld der Struktur (tatsächlich erlauben einige Systeme einen 256-Byte-Hostnamen und einen 8-Byte-Knotennamen ), aber das gilt unter Linux. Gleiches gilt für setdomainname (2) und das Feld domainname.
(Beachten Sie, dass Linux sethostname()
Hostnamen auf 64 Bytes begrenzt.)
Ein weiterer Beweis dafür, dass sie unter GNU / Linux genau gleich sind, stammt aus der gethostname()
Funktionsdokumentation :
Die GNU C-Bibliothek verwendet nicht den Systemaufruf gethostname (). Stattdessen wird gethostname () als Bibliotheksfunktion implementiert, die uname (2) aufruft und bis zu len Bytes aus dem zurückgegebenen Knotennamenfeld in name kopiert .
Grundsätzlich hostname
beinhaltet ein interner Aufruf an uname
.