A command line interface or CLI is a method of interacting with a computer by giving it lines of textual commands (ie, a sequence of characters) either from keyboard input or from a script. The computer system (ie, the program then accepting such input) then carries out the command given. The result may be textual output, or the initialization and running of some program, or a modification to the graphical output on a monitor or printer, or some change in a file system (eg, delete a file, modify a file, or create a file). The term is usually used in contrast to a graphical user interface (GUI) in which commands are typically issued by moving a pointer (eg, a mouse cursor) and/or pressing a key (ie, 'clicking', often on a key mounted on a mouse).
Examples of programs implementing command line interfaces include the (various) Unix shells, VMS' DCL (Digital Command Language), and related designs like CP/M and MS-DOS's command.com, both based heavily on DEC's RSX and RSTS operating system interfaces (which were also command line interfaces). These programs are often called command line interpreters.
There are other programs which use CLIs as well. The CAD program AutoCAD is a prominent example. In some computing environments like the Oberon or Smalltalk user interface, most of the text which appears on the screen may be used for giving commands.
The commands given on a command line interface often are of the form
doSomething corresponds to a verb, how to an adverb (it describes how the command should be performed in this instance) and toAFile to an object (often one or more files) against which the command should be run. The standalone ">" in the second example is a redirection character, telling the operating system (ie, usually a command shell interpreter) to send the output of the previous commands (ie, those on the left of ">") to some other place (ie, that given to the right of the ">").
Advantages of a command line interface
Even though new users seem to learn GUIs more quickly to perform common operations, well designed CLIs have several advantages: