The Command Line Interface or CLI is a text interface that is navigated by typing commands at prompts, instead of using the mouse through the Graphic User Interface or GUI. Unlike a GUI of the operating system, a command-line only uses the keyboard to navigate and perform actions by entering commands and does not utilize a mouse for navigating. The CLI is also called the command prompt in Windows OS, Terminal in macOS, command screen, shell, or bash.
Most consumer operating systems are designed to shield the user from the ins and outs of the CLI. I positively celebrate the CLI for its power, speed, and ability to accomplish a vast array of tasks with a single command-line instruction. No matter what type of development, coding, programming, or IT task you do, there’s value in understanding the command line.
When a user first encounters the CLI, they can find it challenging because it requires memorizing a dizzying amount of commands and their options. However, once a user has learned the structure of how commands are used, where the necessary files and directories are located, and how to navigate the hierarchy of a file system, they can be immensely productive. This capability provides more precise control, greater speed, and the ability to automate tasks more easily through scripting.
Furthermore, by learning the CLI, a user can easily be productive almost instantly on ANY operating system terminal, reducing the amount of time needed to familiarize themselves with the OS because of variations in a GUI.
How to access the CLI?
To open and work in the command-line interface, do this:
- Depending on your version of Windows, hold the Windows key and press the “R” key to get a “Run” window. Type “cmd” in the box and click the OK key.
- Click on the search magnifying glass and type “Terminal” or go to Applications → Utilities →
- Depending on your Linux distribution, go to Applications → Accessories → Terminal, or Applications → System →
You should see a white or black window, called terminal, that is waiting for your commands. The part up to the $ symbol (macOS or Linux) or the > symbol (Windows OS) is called the command line prompt, or prompt for short. It prompts you to input something there. Each command prompt will be prepended by a $ or > and one space, and typically contains information about the user and the system. The prompt is fully configurable and can be as sparse or as full featured as is practical and useful.
How to use the CLI?
Once a user has entered a command in the terminal command prompt, the CLI accepts what the user has typed and passes it to a shell. The shell is the command-line interpreter that translates commands entered by a user into actions to be performed by the operating system. If the command produces an output, then the text is displayed in the terminal. If problems with the command are encountered, an error message is displayed.
The shell has some popular features like:
- Scripting: The ability to place commands in a file and then interpret the file, resulting in all of the commands being executed. This feature also has some programming features, such as conditional statements and the ability to create functions (AKA subroutines).
- Aliases: The ability to create short nicknames for more extended commands.
- Variables: Used to store information for the shell and the user. These variables can be used to modify how commands and features work as well as provide vital system information.
What is a Command?
The most straightforward answer is that a command is a software program that, when executed on the CLI, performs an action on the computer.
Many commands can be used by themselves with no further input. Some commands require additional input to run correctly. This additional input comes in two forms: options and arguments. Commands, options, arguments, variables, and file names must be entered in lower case.
Options are used to modify the core behavior of a command while arguments are used to provide additional information (such as a filename or a username). Each option and argument is normally separated by a space, although options can often be combined.
For more deeper in the use of CLI commands, visit the following links:
The CLI keeps a history list of commands!
When a command is executed in the terminal, it is stored in a history list. This is designed to make it easy to execute the same command, later eliminating the need to retype the entire command. To view the history list of a terminal, use the history command.
However, pressing the Up Arrow ↑ key displays the previous command on the prompt line. The entire history of commands run in the current session can be displayed by pressing Up repeatedly to move back through the history of commands that have been run. Pressing the Enter key runs the displayed command again.
When the desired command is located, the Left Arrow ← and Right Arrow → keys can position the cursor for editing. Other useful keys for editing include the Home, End, Backspace and Delete keys.
CLI advantages and disadvantages
The advantages of a command-line interface are:
- greater control of an OS or application;
- faster management of many operating systems;
- ability to store scripts to automate regular tasks;
- basic command-line interface knowledge to help with troubleshooting, such as network connection issues.
The disadvantages of a command-line interface are:
- GUI is more user-friendly;
- steeper learning curve associated with memorizing commands and complex syntax/arguments;
- different commands used in different shells.
I hope I’ve promoted on you the importance of CLI and the fluency in it. Like a spoken language, nothing except practice produces fluency.
While most end users don’t care for command-based systems, power users still rely on commands to troubleshoot and configure certain application and programs. They move fast and need a system that responds in sort. The future of the command prompt may not be as flashy or highly promoted as new graphic interfaces, but it’s still a heavily used portion of the operating system and worth exploring if you have a career in the computing field.
The CLI has become a “Swiss Army” knife of features locked behind simple commands. If you take time to learn and practice on it, you may be surprised how much power is available. As more tools rise to popularity in the years to come, you’ll be glad to understand the command-line syntax.
Perhaps the most obvious reason to learn the command line is for its original function: greater control.
Authorship: Arturo S.