Definition
Zsh (Z shell) is an extended Unix shell that builds on the Bourne shell with advanced scripting features, improved interactive completion, and a large plugin and theme ecosystem.
Overview
Zsh is a POSIX-compatible shell and a drop-in alternative to Bash, popular on macOS (the default shell since Catalina) and widely available across Linux distributions. It extends Bourne-shell scripting with improved globbing, spelling correction, and advanced tab completion, and it supports a rich plugin architecture. Frameworks like Oh My Zsh package hundreds of community plugins and themes for prompt customization, git integration, and syntax highlighting, making everyday terminal workflows more discoverable without writing custom scripts. Many developers switch from the default Bash shell to Zsh for daily interactive terminal work while continuing to write portable scripts in Bash or POSIX sh for CI and automation, since not every Zsh-specific feature is compatible with other shells. Both run comfortably inside terminal emulators and editors like Vim or VS Code's integrated terminal, and shell fluency in either one is a core skill covered in the Linux & Shell Scripting course.
Key Features
- Advanced tab completion with context-aware suggestions
- Improved globbing and pattern matching over traditional Bourne shell
- Spelling correction and command auto-suggestion
- Rich plugin and theme ecosystem via frameworks like Oh My Zsh
- Shared scripting compatibility with Bash for most POSIX scripts
- Customizable prompts showing git status, virtual environments, and more
Use Cases
History
Zsh (the Z shell) is a powerful Unix command interpreter and scripting language, popular for interactive use. It was created by Paul Falstad in 1990 while he was a student at Princeton University; the name comes from the login ID of Zhong Shao, a teaching assistant there. Zsh drew together the best features of the Korn shell (ksh) and tcsh — with a bit of rc — aiming for a shell that is well-designed and logical yet genuinely built for humans, adding programmable command-line completion, powerful filename globbing, improved arrays, spelling correction, and themeable prompts. Long favored by power users (and boosted by frameworks like Oh My Zsh), Zsh became the default interactive shell on macOS starting with Catalina.
Sources
- Zsh — official website · as of 2026-07-17
- Zsh — The Z Shell Manual (SourceForge) · as of 2026-07-17