Command-line interface

Screenshot of a sample bash session in GNOME Terminal 3, Fedora 15
Screenshot of Windows PowerShell 1.0, running on Windows Vista

A command-line interface or command language interpreter (CLI), also known as command-line user interface, console user interface[1] and character user interface (CUI), is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines). A program which handles the interface is called a command language interpreter or shell (computing).

The CLI was the primary means of interaction with most computer systems on computer terminals in the mid-1960s, and continued to be used throughout the 1970s and 1980s on OpenVMS, Unix systems and personal computer systems including MS-DOS, CP/M and Apple DOS. The interface is usually implemented with a command line shell, which is a program that accepts commands as text input and converts commands into appropriate operating system functions.

Today, many end users rarely, if ever, use command-line interfaces and instead rely upon graphical user interfaces and menu-driven interactions. However, many software developers, system administrators and advanced users still rely heavily on command-line interfaces to perform tasks more efficiently, configure their machine, or access programs and program features that are not available through a graphical interface.

Alternatives to the command line include, but are not limited to text user interface menus (see IBM AIX SMIT for example), keyboard shortcuts, and various other desktop metaphors centered on the pointer (usually controlled with a mouse). Examples of this include the Windows versions 1, 2, 3, 3.1, and 3.11 (an OS shell that runs in DOS), DosShell, and Mouse Systems PowerPanel.

Programs with command-line interfaces are generally easier to automate via scripting.

Command-line interfaces for software other than operating systems include a number of programming languages such as Tcl/Tk, PHP, and others, as well as utilities such as the compression utility WinZip, and some FTP and SSH/Telnet clients.

Comparison to graphical user interfaces

Screenshot of Apple Computer's CommandShell in A/UX 3.0.1

Compared with a graphical user interface, a command line requires fewer system resources to implement. Since options to commands are given in a few characters in each command line, an experienced user finds the options easier to access. Automation of repetitive tasks is simplified - most operating systems using a command line interface support some mechanism for storing frequently used sequences in a disk file, for re-use; this may extend to a scripting language that can take parameters and variable options. A command-line history can be kept, allowing review or repetition of commands.

A command-line system may require paper or online manuals for the user's reference, although often a "help" option provides a concise review of the options of a command. The command-line environment may not provide the graphical enhancements such as different fonts or extended edit windows found in a GUI. It may be difficult for a new user to become familiar with all the commands and options available, compared with the drop-down menus of a graphical user interface, without repeated reference to manuals.

Other Languages
Afrikaans: Bevellyn
azərbaycanca: Əmr sətiri
Deutsch: Kommandozeile
eesti: Käsurida
Bahasa Indonesia: Antarmuka baris perintah
română: CLI
Simple English: Command-line interface
slovenčina: Príkazový riadok
svenska: Kommandotolk
Türkçe: Komut satırı