hostnamectl - Change the current hostname
The command hostnamectl can be use to quickly change the hostname of the Linux host.
Running hostnamectl will give you the current hostname of the system:
hostnamectl

Use the following to set a new hostname for your system:
sudo hostnamectl set-hostname your_new_hostname

If you run a command with sudo after setting the new hostname, you may see the following warning in the terminal:
sudo: unable to resolve host test: No address associated with hostname

This can be easily solve by editing the host file in /etc/host . When you open the host file, you will see that the new hostname is not in the file:

Simply replace the old hostname in the file with the new hostname, and reboot your system.

Here's a simple Bash script that I wrote that can be use to change the hostname, and can be combine with other scripts to create a simple initial setup script for Linux installs:
#!/bin/bash
#This is a simple script for changing hostname
#sets the exit condition for while loop
TEMP1=true
while $TEMP1
do
	#Asks user input for a name
    echo "Enter a new hostname:"
    read newhostname
    
    #Asks user to input it again
    echo "Enter the hostname again:"
    read newhostname2
	#If the two input matches, exit the while loop
    if [ "$newhostname" == "$newhostname2" ]
        then
            TEMP1=false
            
	#Otherwise, repeat the loop again
	else
        echo "Hostname did not match. Try Again."
    fi
done
#Use sed to change the previous HOSTNAME to the new hostname in /etc/hosts
sudo sed -i "s/$HOSTNAME/$newhostname2/g" /etc/hosts
#Change the system hostname to the new hostname
sudo hostnamectl set-hostname $newhostname2
#print the new hostname information
hostnamectl

While you may see the "unable to resolve host" line from the above script, if you check the /etc/hosts file, the script actually have successfully change the hostname in there. Simply reboot and the new hostname will take effect.