Terminal
The term "terminal" sometimes is used interchangeably with command line interface, bash, and shell, or bash shell. They are all really refer to the same thing but are slightly different.
- Terminal: A program on your computer, like any other program in your computer such as a calculator program. You can minimize it, maximize it, close it, and all the things related to having a program running on your computer. The main difference between other programs and a terminal is that a terminal runs a command line interface within it.
- Command line interface: an interface refers to a (sometimes simplistic) mechanism that allows you to interact with the inner more complex mechanism. For example, in a car, you wouldn't want to directly turn all the gears and pumps inside the engine to make the wheels move. You would much rather have a pedal to press on to make the wheels move. An interface is just a simplified mechanism allowing you to interact with a more complex mechanism. A command line interface simple refers to a command-based interface. The complex (or inner) mechanism is actual execution of actual binary code in the computer. Again, you wouldn't want to manually send each individual bit of binary code to your computer yourself, you would much rather want to send binary instructions in a single command.