Difference between iTerm2, zsh and oh-my-zsh

When you are at a command line, typing in commands and reading output you are working in a program called a terminal (or console on windows). The terminal is taking your commands and forwarding them to a program, called a shell, who’s job is to actually execute the commands you type in to the terminal and possibly print some output. The output from the shell is then displayed in your terminal window.

The terminal is like the web browser and the shell is like the javascript engine. Your browser takes your input (click, keypresses, mousemoves) and sends them along to javascript which processes those actions and the browser displays the results.

iTerm2 is a terminal emulator meant to be a replacement for macOS terminal and is far more feature rich. It’s the terminal program providing you with a command line interface.

ZSH is a specific shell, as is bash, the same way linux is a specific operating system. There are different shells that provide different syntax, features and functionality. There’s bash, cshell, fish, powershell, zsh and others.

Installing ZSH, you are essentially downloading a new program and telling your terminal to use that program (say, instead of bash) to process the commands and run scripts.

oh-my-zsh provides a way of managing your zsh configurations, themes and plugins to extend the look and functionality of your shell.

I can’t reccomend this setup enough- it’s like the cadillac of command lines. You have a good friend there.

Leave a Comment