| Command Line Interface |
Article Index for Command |
Website Links For Command |
Information AboutCommand Line Interface |
| CATEGORIES ABOUT COMMAND LINE INTERFACE | |
| user interface | |
| software engineering | |
| software architecture | |
|
command line interface.]] 's CommandShell in A/UX 3.0.1.]] RC 1, running under Windows Vista ]] A command line interface or '''CLI''' is a method of interacting with an Operating System or Software using a Command Line Interpreter . This command line interpreter may be a Text Terminal , terminal emulator, or remote shell client such as PuTTY . The concept of the CLI originated when Teletype machines (TTY) were connected to computers in the 1950s , and offered results on demand, compared to 'batch' oriented mechanical Punch Card input technology. Dedicated text-based CRT terminals followed, with faster interaction and more information visible at one time, then Graphical Terminals enriched the visual display of information. Currently personal computers encapsulate both functions in software. The CLI continues to Coevolve with Graphical User Interface s (GUIs) like those provided by Microsoft Windows , Mac OS and the X Window System . In some applications, such as MATLAB , a CLI is integrated with the GUI, with the benefits of both. USAGE A CLI is used whenever a large vocabulary of commands or queries, coupled with a wide (or arbitrary) range of options, can be entered more rapidly as text than with a pure GUI. CLIs are often used by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users. CLIs are also popular among people with visual disability, since the commands and feedbacks can be displayed using Refreshable Braille Display s. A program that implements such a text interface is often called a Command Line Interpreter or Shell . Examples include the various Unix Shell s (sh, ksh, csh, tcsh, bash, etc.), the historical CP/M , and DOS 's COMMAND.COM , the latter two based heavily on DEC's RSX and RSTS CLIs. In November 2006, Microsoft released version 1.0 of Windows PowerShell (formerly codenamed ''Monad''), which combined features of traditional Unix shells with their object-oriented .NET Framework . MinGW and Cygwin are Open Source packages for Windows that offer a Unix like CLI. Microsoft provides MKS Inc. 's Ksh implementation ''MKS Korn shell'' for Windows through their Services For UNIX add-on. The latest versions of the Macintosh operating system are based on a variation of UNIX called Darwin . On these computers, users can access a UNIX-like command line interface called Terminal found in the Applications Utilities folder. 6.5 command line interface and GUI.]]Some applications provide both a CLI and a GUI. The engineering/scientific numerical computation package MATLAB provides no GUI for some calculations, but the CLI can handle any calculation. The three-dimensional-modelling program Rhinoceros 3D (used to design the cases of most cell phones, as well as thousands of other industrial products) provides a CLI (whose language, by the way, is distinct from Rhino's scripting language). In some computing environments, such as the Oberon or Smalltalk user interface, most of the text which appears on the screen may be used for giving commands. ANATOMY OF A CLI A CLI can generally be considered as consisting of Syntax and Semantics . The ''syntax'' is the grammar that all commands must follow. In the case of Operating System s (OS), MS-DOS and UNIX each define their own set of rules that all commands must follow. In the case of Embedded Systems , each vendor, such as Nortel , Juniper Networks or Cisco Systems , defines their own proprietary set of rules that all commands within their CLI conform to. These rules also dictate how a user navigates through the system of Command s. The ''semantics'' define what sort of operations are possible, and on what sort of data these operations can be performed. Two different CLIs may agree on either syntax or semantics, but it is only when they agree on both that they can be considered sufficiently similar to allow users to use both CLIs without needing to relearn anything as well as enable re-use of scripts. A simple CLI will display a prompt, accept a "command line" typed by the user terminated by the Enter Key , then execute the specified command and provide textual display of results or error messages. Advanced CLIs will validate, interpret and parameter-expand the command line before executing the specified command, and optionally capture or redirect its output. Unlike a button or menu item in a GUI, a command line is typically self-documenting, stating exactly what the user wants done. In addition, command lines usually include many Defaults that can be changed to customize the results. Useful command lines can be saved by assigning a Character String or Alias to represent the full command, or several commands can be grouped to perform a more complex sequence — for instance, compile the program, install it, and run it — creating a single entity, called a command procedure or script which itself can be treated as a command. These advantages mean that a user must figure out a command or series of commands only once, because they can be saved, to be used again. The commands given to a CLI are often in one of the following forms:
  |
''doSomething'' Is, In Effect, A
| "http://wwwinformationdelightinfo/information/entry/verb" class="copylinks">Verb , ''how'' an Adverb (for example, should the command be executed "verbosely" or "quietly") and ''toFiles'' an object or objects (typically one or more files) on which the command should act The '>' in the second example is a redirection Operator , telling the command line interpreter to send the output of the command not to the screen but to the file named on the right of the '>' Another redirection operator is the Pipe (''), which tells the CLI to use the output of one command as the input to the next command this "operator-stream" mechanism can be very powerful |
  |
{{quotation"IBM Wanted
| "http://wwwinformationdelightinfo/information/entry/CP/M" class="copylinks">CP/M prompts It made me throw up" Tim Paterson (Author of 86-DOS ) {{cite web |
  |
{{quotation"It Was A Mistake To Think That GUIs Ever Would, Could, Or Even Should, Eliminate CLIs"
| "http://wwwinformationdelightinfo/information/entry/Jeffrey_Snover" class="copylinks">Jeffrey Snover (Architect of Windows PowerShell ) {{cite web |
|
|
|