Print or Set (temporarily) the name of current host system.

   hostname [-fs] [name-of-host]

   -f    Include domain information in the printed name.
         This is the default behavior.

   -s    Trim off any domain information from the printed name.

The super-user can set the hostname by supplying a hostname argument.

When you open a new Terminal window, the prompt will begin with the hostname and this may appear differently if you are connected to a WiFi network compared to opening a new Terminal when disconnected.

A DHCP server can provide a hostname to a client, along with an IP address, and the client system hostname will be changed to whatever the DHCP server sends.

If a NetBIOSName has been configured, (it is typically set to = the hostname) the value is stored in a preference file:
$ defaults read /Library/Preferences/SystemConfiguration/ NetBIOSName

You can set the NetBIOS name with defaults or in System Preferences ➞ Network ➞ active network port ➞ Advanced ➞ WINS tab.

To keep the hostname between reboots, run scutil --set HostName name-of-host.


Display the current hostname:

$ hostname

The hostname is also stored in a system variable named HOSTNAME:

$ echo $HOSTNAME

Set a new hostname:

$ sudo hostname FancyNewName

$ scutil --set HostName FancyNewName

“ One thing you don't want to do as a host is be running around all evening. Do as much as you can ahead of time, so all you have to do is grill the main ingredients” ~ Bobby Flay

Related macOS commands

scutil - Manage system configuration parameters, including hostname.
dscacheutil -flushcache

Copyright © 1999-2024
Some rights reserved