Spice up your CentOS Shell, Part 1: ZSH

In this series, we will be installing some useful tools and applications to improve efficiency on the command line.

In part 1 of “Spice up your CentOS Shell” we’ll be installing ZSH.

1. What is ZSH?

ZSH is a powerful Unix shell. You can think of ZSH as an extended version of CentOS’ default shell, the Bourne Again shell (BASH), with improvements and additional features, such as:

  • Drop-in replacement for BASH
  • Command-line completion
  • Shared history
  • Spelling correction
  • Theme-able
  • Fully customisable
  • Extended modules: TCP system, FTP, calendar functions and many more!


2. How to install ZSH

To install ZSH on your server, you will need to enable the EPEL repo first.

Install ZSH with the following command:

yum install zsh


3. How to use ZSH

Before switching to ZSH as your default shell, I would recommend testing it from your current shell first. ZSH can be invoked on-demand by entering the following command:


If you want to enable ZSH as your default shell, you can run the following command, changing <username> to the username you wish to set it for:

usermod -s /bin/zsh <username>

Familiarize yourself with auto-correct and command-line completion. Depending on what you want, ZSH can be utilized further, for example, you may want to enable additional modules. To see the list of additional modules included with ZSH, enter the following command:

man zshmodules

Have fun with you new shell! In Part 2 of this series, we will be installing oh-my-zshell, a community-driven framework for managing your zsh configuration, themes and has additional plugins to improve ZSH even further.

Share This Post

About Author: Curtis K

Hi! My name is Curtis, and I am the author of CentOS Blog. Please feel free to comment with any suggestions, feedback or questions!