How to Install Zsh on Ubuntu 22.04 or 20.04

For Ubuntu users seeking an alternative to the default BASH shell, ZSH offers a robust set of features designed to enhance your command-line experience. Whether you’re running Ubuntu 22.04 Jammy Jellyfish LTS or its older stable release of Ubuntu 20.04 Focal Fossa LTS, installing ZSH can significantly improve your workflow.

Key Features of ZSH for Ubuntu Users

  • Enhanced Interactive Experience: ZSH elevates the command-line interface with advanced tab completion and path expansion. It’s not just about autocompleting commands; ZSH extends this to options, arguments, and filenames.
  • Customization and Themes: One of ZSH’s standout features is its high level of customization. Users can choose from various themes and plugins to enhance functionality and aesthetics. The popular framework “Oh My Zsh” exemplifies this, offering an extensive collection of themes and plugins.
  • Command-line Flexibility: ZSH brings a new level of command-line editing, spelling correction, and plugin options. These features make navigating and operating within the command line easier, streamlining tasks and boosting efficiency.

Given these compelling features, it’s easy to see why ZSH has become a popular choice for those looking to upgrade their Ubuntu command-line experience. Our upcoming guide will provide detailed instructions on how to install ZSH on Ubuntu 22.04 Jammy Jellyfish LTS or Ubuntu 20.04 Focal Fossa LTS, ensuring you can take full advantage of this powerful shell.

Section 1: Install Zsh on Ubuntu 22.04 or 20.04

Step 1: Updating Ubuntu Before Zsh Installation

We must first update all existing packages to ensure that the operating system is ready for the new installation. This step is crucial as it ensures your system is up-to-date, minimizing potential software conflicts and security vulnerabilities.

Execute the following commands to update your Ubuntu system:

sudo apt update
sudo apt upgrade

The sudo apt update command fetches the package lists from the repositories and updates them to get information on the newest versions of packages and their dependencies.

The sudo apt upgrade command installs new versions of packages that you already have, for new versions that require new dependencies.

Step 2: Install Zsh on Ubuntu 22.04 or 20.04 via APT

Having updated our Ubuntu system, we are now set to install ZSH. We’ll install ZSH on Ubuntu in this step through the default repositories. The advantage of this method is that it’s straightforward and doesn’t require any additional setup.

Run the following command to install ZSH:

sudo apt install zsh

In this command, sudo apt install zsh tells the package manager to install the ZSH shell package onto your system.

Step 3: Verifying the ZSH Installation on Ubuntu 22.04 or 20.04

We need to check its version to ensure that ZSH was installed successfully. This confirmation assures that ZSH is part of your system and gives you the specifics of the installed version.

Run the following command to confirm the installed version of ZSH:

zsh --version

The zsh --version command returns the version of ZSH installed on your system. This feedback provides confirmation that the installation process was successful and ZSH is ready for use.

Section 2: Configure ZSH on Ubuntu 22.04 or 20.04

Now that ZSH is installed on your Ubuntu system, we can proceed to the initial configuration of ZSH. This stage involves running ZSH and following the setup prompts to tailor the shell to your needs.

Step 1: Launching ZSH on Ubuntu

To initiate the first-time setup process, you need to run the ZSH command. The system then takes over, providing a series of prompts to guide you through the configuration.

Start the ZSH shell using the following command:


After executing the zsh command, you’ll be presented with a setup prompt:

Screenshot showing example Zsh output after running a Zsh command on Ubuntu 22.04 or 20.04 LinuxPin
See how Zsh commands output on Ubuntu 22.04 or 20.04 Linux.

To commence the setup, type “1” and press Enter.

Step 2: Configuring ZSH Options

During the setup, ZSH will suggest configuring a few key options marked with a (Recommend) tag. These options include the configuration of history, auto-completion features, and speed improvements. While the prompts offer helpful instructions, it’s ultimately your decision on how to configure these settings.

For instance, choosing “1” might lead you through the history configuration:

Screenshot showing the process of configuring Zsh on Ubuntu 22.04 or 20.04 LinuxPin
Step-by-step configuration of Zsh on Ubuntu 22.04 or 20.04 Linux.

After entering “1” to proceed with setup, Zsh presents several configuration options. Let’s break down some of these options:

  • History: This feature controls how Zsh manages the command history. You can customize settings like how many commands to keep in the history, how duplicates are handled, and whether to save the history between sessions.
  • Auto-completion: Zsh has robust features that complete commands and command options, filenames, and more. You can configure aspects like whether to ignore cases, how to handle ambiguous matches, and whether to list possible completions.
  • Speed Tricks: Various options can make Zsh feel more responsive. They include asynchronous completion of long-running commands and caching of command results.

Each option is interactive, and Zsh provides on-screen instructions and recommendations. So, don’t worry about getting everything perfect from the start.

You can always run zsh-newuser-install -f to restart the setup process and try different settings.

You’re encouraged to review at least the first three options, which cover the most significant enhancements ZSH offers over the default BASH shell. Once you’ve finished the configuration, select “0” to save your options and exit the setup.

Screenshot of a fully configured Zsh terminal on Ubuntu 22.04 or 20.04 LinuxPin
Your Zsh terminal is optimized and fully configured on Ubuntu 22.04 or 20.04 Linux.

Step 3: Post-Configuration Steps with Zsh on Ubuntu

Once the initial setup is done, it won’t appear again. However, if you need to re-initialize the configuration, you can do so with the following commands:

autoload -Uz zsh-newuser-install
zsh-newuser-install -f

The autoload -Uz zsh-newuser-install command tells ZSH to load the zsh-newuser-install function when it’s first called. The zsh-newuser-install -f command forces the function to run, re-initializing the setup.

You are now operating within the ZSH terminal. If you wish to switch back to the BASH shell, use the exit command:


To get back to the ZSH shell, use the following:


Section 3: Managing Zsh on Ubuntu 22.04 or 20.04

The following instructions will guide you on handling Zsh updates and removals, ensuring your system remains up-to-date and uncluttered.

Step 1: Updating Zsh on Ubuntu

In the lifecycle of any software, updates are integral to maintaining optimal functionality, performance, and security. The Zsh shell you’ve installed via Ubuntu’s repositories is no exception to this rule. Here’s how you keep your Zsh installation up-to-date.

sudo apt update
sudo apt upgrade

The sudo apt update command updates your local package index, ensuring your system knows about the latest versions of all packages available in the Ubuntu repositories. If updates are available, the sudo apt upgrade command that follows upgrades all your installed packages to their latest versions, including Zsh.

Step 2: Uninstalling Zsh on Ubuntu

While Zsh offers numerous advantages over the standard Bash shell, it might not align with your preferences or project requirements. If you decide Zsh is not for you, it can be removed easily from your system. You can uninstall Zsh using the following command:

sudo apt remove zsh

This command instructs the package manager, apt, to remove the Zsh package. As a result, Zsh will be uninstalled, and your system will revert to using your previous default shell, typically Bash.

Closing Conclusion

In this article, we’ve delved into installing and managing Zsh on an Ubuntu Linux distribution. We covered the installation procedure and first-time configuration and introduced some popular Zsh commands. We also discussed how to keep Zsh updated and the procedure to uninstall it, should you need to. This comprehensive guide aims to provide a robust foundation for you to use Zsh and appreciate its diverse capabilities.

Share to...