Bash and Z Shell

GET THE FULL COURSE HERE

When using Unix, you have two basic choices. You may not know you had this choice if you already use Terminal, but your Terminal is running a shell program, and that’s how you interact with it. This is called your shell or your terminal shell.

You are likely either running Z Shell or a different one called Bash. (This is an oversimplification because there are in fact many more than this but these are the two most popular.)

Bash was released time by Brian Fox in 1989. Bash was the default on macOS before macOS Catalina (2020). It is the one that most people know.

Z Shell, also known as Zsh, was invented by Paul Falstad in 1990. Like most choices in the world of Unix, people who use Zsh really like it for good reason. It has great features: spell-checking, fancy path expansions, and a whole lot more.

Starting with macOS Catalina, ZShell is now the default, so if you have a Mac that was installed after 2020, you probably have ZShell.

Bash is by far the more popular because it is the default, but die-hard Unix users and ‘power user’ programmers tend to prefer Zsh.

In 2020, the tables turned when Apple made Zsh the default in Mac OS Big Sur.

Bash is defaultZ Shell is the default
Ubuntu
Debian
CentOS (and its derivatives, like Red Hat Enterprise Linux)
Fedora
Linux Mint
openSUSE
Arch Linux (although it is m
macOS after Big Sur (macOS 11)

If you’d like to use Z Shell instead of bash, you have to opt-in to it.

If your system is using Bash, you’ll have these files at the location of your home folder.

.bash_profile
.bash_login
.bashrc

If you have ZShell, you’ll instead have these files:

.zprofile
.zsh_history
.zsh_sessions
.zshrc

We don’t quite know how to verify this information now, so for the time being, you’ll have to trust me. In the next three lessons, we’ll learn about the file system how to change directories, and how to examine the contents of the directories on the file system. Once you learn that, come back to this lesson and figure out if you are using Bash or ZShell. (hint: you’ll need to know how to navigate, examine, and edit files the hidden files in your home directory to do this).