Introduction
The Linux hostname command is used to view or change a system’s domain and hostname. It can also check a computer’s IP address.
In this tutorial, we will cover all the ways you can use the hostname
command on Linux and how to change your computer’s hostname on a Linux system.
Prerequisites
- A system running Linux
- Access to the command line / terminal window
hostname Command Syntax
The hostname
command uses the following format:
hostname [options] [new_hostname]
Use the [options]
parameter to add more specific instructions to the hostname
command. Without it, the default output shows your computer’s hostname:
Use the [new_hostname]
parameter when you want to change your computer’s hostname.
hostname Command Examples
The hostname
command has a number of options you can use for more specific outputs:
-a
,--alias
: Displays the alias name of the host.-A
,--all-fqdns
: Displays every FQDN (Fully Qualified Domain Name) of the computer.-b
,--boot
: Always set a hostname.-d
,--domain
: Display DNS domain name.-f
,--fqdn
,--long
: Display the FQDN.-F
,--file
: Check a file to recover and display the hostname.-h
,--help
: Print the help message as the output.-i
,--ip-address
: Display the computer’s IP address.-I
,--all-ip-addresses
: Display all of the computer’s network addresses.-s
,--short
: Display the short version of the hostname.-v
,--verbose
: Expand all output to verbose.-y
,--yp
,--nis
: Display the NIS domain name.
Display Hostname
Using the hostname
command without any additional options displays the computer’s hostname:
hostname
Display Short Hostname
Use the -s
or --short
option to display the short version of the hostname, which is cut off at the first dot:
hostname -s
hostname --short
Display Alias
Use the -a
or --alias
option to display the alias (substitute hostname) of the host if one is set. There are very few cases where this option is useful, and its use is no longer recommended.
hostname -a
hostname --alias
Search for Hostnames
Use the -F
or --file
option to search a specific file (such as hostname or hosts) and change your computer’s hostname to match the content of the file:
sudo hostname -F [file path]
sudo hostname --file [file path]
Note: When using the -F
or --file
options, also specify the path to the file you want to check.
Force Default Hostname
If you don’t want to have a specific file containing the hostname, or want to leave that file empty, use the -b
or --boot
option. This makes your computer use the default hostname (localhost) until you set a different one:
hostname -b
hostname --boot
Display Domain Name
Use the -d
or --domain
option to display the name of your DNS domain:
hostname -d
hostname –domain
Display FQDN
If you want to display a system’s FQDN, use the -f
, --fqdn
, or --long
option:
hostname -f
hostname --fqdn
hostname --long
A FQDN contains the short hostname and the DNS domain name.
Display All FQDNs
To display each FQDN of your machine, use the -A
or --all-fqdns
option:
hostname -A
hostname --all-fqdns
This option lists out all of your network addresses and their DNS domain names. It skips any addresses that it can’t translate.
Note: Different network addresses may translate to same DNS domain names. This can result in duplicate output entries when using -A
or --all-fqdns
options.
Display NIS Domain
If you’re using NIS (Network Information Service), you can check your NIS domain name with the -y
, --yp
, or --nis
option:
hostname -y
hostname --yp
hostname --nis
Change NIS Domain Name
Use this command with the following format to change your NIS domain name:
sudo hostname -y [NIS hostname]
sudo hostname --yp [NIS hostname]
sudo hostname --nis [NIS hostname]
Display Related Network Addresses
The hostname command also lets your display network addresses tied to a hostname. To do this, use the -i
or --ip-address
option:
hostname -i
hostname --ip-address
This command only works if the hostname can be resolved.
Display All Network Addresses
Use the -I
or --all-ip-addresses
option to display all of the host’s network addresses. Unlike -i
, this option doesn’t depend on hostname resolution:
hostname -I
hostname --all-ip-addresses
Change Hostname Until Reboot
You can change your computer’s hostname with the hostname
command. To do this, use the following format:
sudo hostname [new hostname]
Any changes to the hostname you make using this command will only last until the next reboot.
Change Hostname Permanently
To change the hostname permanently, use a text editor like Nano to make changes to the hostname and hosts files:
sudo nano /etc/hostname
sudo nano /etc/hosts
You can also use the hostnamectl
command to permanently change the hostname:
sudo hostnamectl set-hostname [new hostname]
Note: For more details on how to change the hostname on a Linux system, see our guides How To Change Hostname On CentOS 7, How To Change Hostname On CentOS 8, How To Change Hostname On Ubuntu 18.04, How To Change Hostname On Ubuntu 20.04 and How to Change Hostname in Debian 10.
Additional hostname Options
Use the -V
or --version
option to print out the version of the hostname software package on your Linux system:
hostname -V
hostname --version
If you need help with any of the commands, use the -h
or --help
option to print out a help message:
hostname -h
hostname --help
Conclusion
After following this guide, you now know how to use the hostname
command in Linux and all the options that can extend its use.
For more Linux commands, check out our Linux Commands Cheat Sheet.