Shell

Shell

This is going to be a bit confusing. You don't need to have a deep understanding of what I'm talking about, but it's important that you are introduced to some core concepts related to how computer work.

People generally interact with a computer (Mac, Windows, iOS, Android) by clicking/tapping icons that respresent specific actions. This is called a graphical user interface ("GUI"--pronounced "gooey"). A window manager is the name of a GUI program that allows a user to operator a computer. For example, macOS has the Finder and Windows has Explorer (not to be confused with Internet Explorer).

Unlike a GUI, a command-line interface (CLI--pronounced "clee") allows users to operate programs by typing instructions using their keyboard.

A shell is a type of CLI program that's used to control a computer--much like a window manager, but without icons and windows. A shell is used to run other CLI programs. When using a shell every single action you want to perform on your computer is performed by other programs. There's a program for creating directories (ls). There's a program for moving and renaming files and folders (mv). There's a program for rebooting the computer (reboot). Everything is a program.

It's important that you understand that when you create, rename or move a file or reboot your computer, it's not the shell doing these things. The shell is merely a means of passing along instructions to the various CLI programs on your computer.

Even when you are using a GUI, programs like mv and reboot are executed invisibly.

People often refer to a shell program as the shell" as in "you will need to boot up your computer in the shell." But really there are multiple shell programs for any given OS.

A shell program is not something that runs inside your main OS. If you want to use the shell on your computer you need to boot up your computer in the shell.

The most popular shell program for Unix/Linux-like operating systems is called BASH (Bourne Again Shell).

Windows calls their shell the Command Prompt. MacOS calls its shell, Darwin.

The shell is like something you'd see a hacker use on some TV show or movie--plain white text on a black background. There are no buttons or icons. Just text.