Introduction to the Command Line
What is the command line?
The command line or command line interface (cli) refers to a program that facilitates text based interaction with your computer's operating system. The command line gets its name from the way users interact with it; a single command is typed into a terminal, followed optionally by arguments, the command is executed by the operating system, and any output from the command is displayed in the terminal on subsequent lines. The command line is an example of a shell.
What is a shell?
A shell is any program that facilitates interaction between the user and the operating system. You're probably used to interacting with a graphical user interface (GUI). A GUI presents information from the operating system as a combination of text and images, usually organized into program windows (the namesake of the Windows OS), and interprets input by the user (usually button clicks or keyboard commands) as commands for the operating system to execute. A command line shell does the same thing a graphical shell does, but instead of clicking buttons or interacting with menus, the user types commands into the terminal to interact with the operating system.
Why do we still use a command line interface?
The command line interface is an antiquated way of working with computers -- even popular command line tools like git have extensions
that provide a GUI. So why do we still use the command line?
Some things are easier through the command line
Navigating directories, creating, searching, and deleting files, and other operations really are easier once you master the command line. A lot of developer tools were originally created for the command line, and the command line is a more natural way to interact with them.
You'll impress employers
Regardless of how good you are as a developer, many employers will perceive you as a better developer if you're proficient with the command line. This isn't necessarily accurate, but by learning to use the command line you'll increase the number of employers that give you a second look.