Command Line Interface Definition : A Command Line Interface (CLI) is also known as Command-line User Interface and/or Console User Interface (CUI). It is a type of human-computer interface (i.e., a way for humans to interact with digital computers or personal computer) that relies solely on textual request and response transaction process. It can be expressed as, CLI is a user interface to a computer’s operating system or application software in which the user responds to a visual prompt by instructing with typing in a series of commands on a specified line and receives responses back from the system.
The primary means of CLI was interaction with most computer systems until the introduction of the video display terminal in the mid-1960s, and continued to be used throughout the 1970s and 1980s on OpenVMS (Open Virtual Memory System) for Unix systems and personal computer systems including MS-DOS (Microsoft Disk Operating System), CP/M (Control Program for Microcomputers) and Apple DOS (Apple Disk Operating System). These user interfaces for handling operating system functionality is usually implemented with a command line shell, which is a program that accepts commands as text request and converts commands to appropriate operating system functions.
A Command Line Interface is a powerful way of user interacting with an operating system. One of the first CLIs was the MS-DOS. It was the operating system for the original personal digital computer (PC), which had been built in the 1980s.
As in the early computers had one or two floppy disk drives and a monochromatic screen, and they were completely based on text. As the development of the hardware increased the performance and functionality of the PC, there was a urgent requirement to enhance the functionality of operating system.
After introduced MS-DOS, Microsoft developed the first Windows operating system. This operating system developed by Microsoft provided a Graphical User Interface (GUI) with MS-DOS which had to be loaded first. Today’s versions of Windows are operating systems in their own right but it is still possible to revert back to a Windows Shell to enter text-based commands to handle the operation of the computer.
Advantages Command Line Interface (CLI):
The advantages of Command line interfaces are listed below;
- If the user knows the correct commands then this type of interface can be much faster than any other type of interface.
- This type of interface needs much less memory (Random Access Memory) in order to use compared to other types of user interfaces.
- This type of interface does not use as much CPU processing time as others
- A low resolution, cheaper monitor can be used with this type of interface.
- A CLI does not require Windows to run.
Disadvantages Command Line Interface (CLI):
The disadvantages of Command line interfaces are listed below;
- For someone who has never used a CLI, it can be very confusing.
- Commands have to be typed precisely. If there is a spelling mistake then the command will not respond or fail.
- If user can mis-type an instruction, it is often necessary to start from scratch again.
- There are a large number of commands which need to be learned-in the case of Unix it can be more than hundred.
- Use can’t just guess what the instruction might be and user can’t just ‘have a go’.
Command Line Interface (CLI) Application:
Command-line applications are also known as Console Applications. They are computer programs designed to be used from a text interface, such as a shell. Command-line applications usually accept various inputs as arguments, often referred to as parameters or sub-commands, as well as options, often referred to as flags or switches.
Some popular command-line applications include:
- Grep: It is a command-line utility for searching plain-text data sets for lines matching a regular expression. Grep was originally developed for the Unix operating system
- Curl: It is an open source command line tool and library for data transfer with URL syntax
- Httpie: It is a command line HTTP client, a user-friendly cURL replacement
- Git: It is an open source distributed version control system to handle everything from small to very large projects with speed and efficiency.
- Mercurial: It is a distributed version control system primarily written in Python.
Examples Command Line Interface (CLI):
- MS-DOS (Microsoft Disk Operating System),
- CP/M (Control Program for Microcomputers) and
- Apple DOS (Apple Disk Operating System)
These are the best example of command line interface.