101-541: Command Prompt , also known as cmd.exe or cmd , is the default command-line interpreter for the OS/2 , eComStation , ArcaOS , Microsoft Windows ( Windows NT family and Windows CE family ), and ReactOS operating systems. On Windows CE .NET 4.2 , Windows CE 5.0 and Windows Embedded CE 6.0 it is referred to as the Command Processor Shell . Its implementations differ between operating systems, but
202-486: A computer program by inputting lines of text called command-lines . Command-line interfaces emerged in the mid-1960s, on computer terminals , as an interactive and more user-friendly alternative to the non-interactive interface available with punched cards . Today, most computer users rely on graphical user interfaces ("GUIs") instead of CLIs. However, many programs and operating system utilities lack GUIs, and are intended to be used through CLIs. Knowledge of CLIs
303-519: A flag or switch ) modifies the operation of a command; the effect is determined by the command's program. Options follow the command name on the command line, separated by spaces. A space before the first option is not always required, such as Dir/? and DIR /? in DOS, which have the same effect of listing the DIR command's available options, whereas dir --help (in many versions of Unix) does require
404-438: A mouse pointer , such as Microsoft Windows ), text-based user interface menus (such as DOS Shell and IBM AIX SMIT ), and keyboard shortcuts . Compared with a graphical user interface, a command-line interface requires fewer system resources to implement. Since options to commands are given in a few characters in each command line, an experienced user often finds the options easier to access. Automation of repetitive tasks
505-478: A pipeline where the output of one command becomes the input to the next command. One can modify the set of available commands by modifying which paths appear in the PATH environment variable. Under Unix, commands also need be marked as executable files. The directories in the path variable are searched in the order they are given. By re-ordering the path, one can run e.g. \OS2\MDOS\E.EXE instead of \OS2\E.EXE, when
606-438: A CLI, presenting their own prompt to the user and accepting command lines. Other programs support both a CLI and a GUI. In some cases, a GUI is simply a wrapper around a separate CLI executable file . In other cases, a program may provide a CLI as an optional alternative to its GUI. CLIs and GUIs often support different functionality. For example, all features of MATLAB , a numerical analysis computer program, are available via
707-458: A Unix-like CLI. Microsoft provides MKS Inc. 's ksh implementation MKS Korn shell for Windows through their Services for UNIX add-on. Since 2001, the Macintosh operating system macOS has been based on a Unix-like operating system called Darwin . On these computers, users can access a Unix-like command-line interface by running the terminal emulator program called Terminal , which
808-478: A built-in keyboard and display for the console. Some Unix-like operating systems such as Linux and FreeBSD have virtual consoles to provide several text terminals on a single computer. The fundamental type of application running on a text terminal is a command-line interpreter or shell , which prompts for commands from the user and executes each command after a press of Return . This includes Unix shells and some interactive programming environments. In
909-504: A command procedure or script which itself can be treated as a command. These advantages mean that a user must figure out a complex command or series of commands only once, because they can be saved, to be used again. The commands given to a CLI shell are often in one of the following forms: where doSomething is, in effect, a 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
1010-452: A computer screen by decades. The computer would typically transmit a line of data which would be printed on paper, and accept a line of data from a keyboard over a serial or other interface. Starting in the mid-1970s with microcomputers such as the Sphere 1 , Sol-20 , and Apple I , display circuitry and keyboards began to be integrated into personal and workstation computer systems, with
1111-430: A field that may have previously required a full screen-full of characters to be re-sent from the computer, possibly over a slow modem line. Around the mid-1980s most intelligent terminals, costing less than most dumb terminals would have a few years earlier, could provide enough user-friendly local editing of data and send the completed form to the main computer. Providing even more processing possibilities, workstations like
SECTION 10
#17327725105361212-530: A green or amber screen. Typically terminals communicate with the computer via a serial port via a null modem cable, often using an EIA RS-232 or RS-422 or RS-423 or a current loop serial interface. IBM systems typically communicated over a Bus and Tag channel, a coaxial cable using a proprietary protocol, a communications link using Binary Synchronous Communications or IBM's SNA protocol, but for many DEC, Data General and NCR (and so on) computers there were many visual display suppliers competing against
1313-622: A keyboard in 1941, as did the Z4 in 1942–1945. However, these consoles could only be used to enter numeric inputs and were thus analogous to those of calculating machines; programs, commands, and other data were entered via paper tape. Both machines had a row of display lamps for results. In 1956, the Whirlwind Mark ;I computer became the first computer equipped with a keyboard-printer combination with which to support direct input of data and commands and output of results. That device
1414-461: A library such as ncurses . For more complex operations, the programs can use terminal specific ioctl system calls. For an application, the simplest way to use a terminal is to simply write and read text strings to and from it sequentially. The output text is scrolled, so that only the last several lines (typically 24) are visible. Unix systems typically buffer the input text until the Enter key
1515-613: A microprocessor is built in, but not all terminals with microprocessors did any real processing of input: the main computer to which it was attached would have to respond quickly to each keystroke. The term "intelligent" in this context dates from 1969. Notable examples include the IBM 2250 , predecessor to the IBM 3250 and IBM 5080, and IBM 2260 , predecessor to the IBM 3270 , introduced with System/360 in 1964. Most terminals were connected to minicomputers or mainframe computers and often had
1616-588: A pure GUI. This is typically the case with operating system command shells . CLIs are also used by systems with insufficient resources to support a graphical user interface. Some computer language systems (such as Python , Forth , LISP , Rexx , and many dialects of BASIC ) provide an interactive command-line mode to allow for rapid evaluation of code. 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 disabilities since
1717-594: A real-world terminal, sometimes allowing concurrent use of local programs and access to a distant terminal host system, either over a direct serial connection or over a network using, e.g., SSH . Today few if any dedicated computer terminals are being manufactured, as time sharing on large computers has been replaced by personal computers, handheld devices and workstations with graphical user interfaces. User interactions with servers use either software such as Web browsers , or terminal emulators, with connections over high-speed networks. The console of Konrad Zuse 's Z3 had
1818-593: A sequence of codes were sent to the terminal to try to read the cursor's position or the 25th line's contents using a sequence of different manufacturer's control code sequences, and the terminal-generated response would determine a single-digit number (such as 6 for Data General Dasher terminals, 4 for ADM 3A/5/11/12 terminals, 0 or 2 for TTYs with no special features) that would be available to programs to say which set of codes to use. The great majority of terminals were monochrome, manufacturers variously offering green, white or amber and sometimes blue screen phosphors. (Amber
1919-472: A shell, most of the commands are small applications themselves. Another important application type is that of the text editor . A text editor typically occupies the full area of display, displays one or more text documents, and allows the user to edit the documents. The text editor has, for many uses, been replaced by the word processor , which usually provides rich formatting features that the text editor lacks. The first word processors used text to communicate
2020-455: A standard, AlphaWindows , that would allow a single CRT screen to implement multiple windows, each of which was to behave as a distinct terminal. Unfortunately, like I2O , this suffered from being run as a closed standard: non-members were unable to obtain even minimal information and there was no realistic way a small company or independent developer could join the consortium. An intelligent terminal does its own processing, usually implying
2121-446: A terminal as "intelligent" was its ability to process user-input within the terminal—not interrupting the main computer at each keystroke—and send a block of data at a time (for example: when the user has finished a whole field or form). Most terminals in the early 1980s, such as ADM-3A, TVI912, Data General D2, DEC VT52 , despite the introduction of ANSI terminals in 1978, were essentially "dumb" terminals, although some of them (such as
SECTION 20
#17327725105362222-456: A typical application the host sends the terminal a preformatted panel containing both static data and fields into which data may be entered. The terminal operator keys data, such as updates in a database entry, into the appropriate fields. When entry is complete (or ENTER or PF key pressed on 3270s), a block of data, usually just the data entered by the operator (modified data), is sent to the host in one transmission. The 3270 terminal buffer (at
2323-402: Is " thin client ". A thin client typically uses a protocol like X11 for Unix terminals, or RDP for Microsoft Windows. The bandwidth needed depends on the protocol used, the resolution, and the color depth . Modern graphic terminals allow display of images in color, and of text in varying sizes, colors, and fonts (type faces). In the early 1990s, an industry consortium attempted to define
2424-406: Is a serial computer interface for text entry and display. Information is presented as an array of pre-selected formed characters . When such devices use a video display such as a cathode-ray tube , they are called a " video display unit " or "visual display unit" (VDU) or "video display terminal" (VDT). The system console is often a text terminal used to operate a computer. Modern computers have
2525-522: Is a type of computer terminal that communicates with its host in blocks of data, as opposed to a character-oriented terminal that communicates with its host one character at a time. A block-oriented terminal may be card-oriented, display-oriented, keyboard-display, keyboard-printer, printer or some combination. The IBM 3270 is perhaps the most familiar implementation of a block-oriented display terminal, but most mainframe computer manufacturers and several other companies produced them. The description below
2626-495: Is achieved via RS-232 serial links, Ethernet or other proprietary protocols . Character-oriented terminals can be "dumb" or "smart". Dumb terminals are those that can interpret a limited number of control codes (CR, LF, etc.) but do not have the ability to process special escape sequences that perform functions such as clearing a line, clearing the screen, or controlling cursor position. In this context dumb terminals are sometimes dubbed glass Teletypes , for they essentially have
2727-513: Is active a program is typically invoked by typing its name followed by command-line arguments (if any). For example, in Unix and Unix-like environments, an example of a command-line argument is: file.s is a command-line argument which tells the program rm to remove the file named file.s . Some programming languages, such as C , C++ and Java , allow a program to interpret the command-line arguments by handling them as string parameters in
2828-415: Is also useful for writing scripts . Programs that have CLIs are generally easy to automate via scripting, since command-lines, being mere lines of text, are easy to specify in code. CLIs are made possible by command-line interpreters or command-line processors , which are programs that read command-lines and carry out the commands. Alternatives to CLIs include GUIs (most notably desktop metaphors with
2929-402: Is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. Most early computers only had a front panel to input or display bits and had to be connected to a terminal to print or input text through a keyboard. Teleprinters were used as early-day hard-copy terminals and predated the use of
3030-401: Is available as an external command stored in \Windows\net.exe . The ReactOS implementation includes the following internal commands: On Windows, cmd.exe is mostly compatible with COMMAND.COM but provides the following extensions over it: Internal commands have also been improved: Command-line interpreter A command-line interface ( CLI ) is a means of interacting with
3131-462: Is called a " dumb terminal " or a thin client . In the era of serial ( RS-232 ) terminals there was a conflicting usage of the term "smart terminal" as a dumb terminal with no user-accessible local computing power but a particularly rich set of control codes for manipulating the display; this conflict was not resolved before hardware serial terminals became obsolete. A personal computer can run terminal emulator software that replicates functions of
cmd.exe - Misplaced Pages Continue
3232-510: Is derived from FreeCOM, the FreeDOS command line interpreter. cmd.exe interacts with the user through a command-line interface . On Windows, this interface is implemented through the Win32 console . cmd.exe may take advantage of features available to native programs of its own platform. For example, on OS/2 and Windows, it can use real pipes in command pipelines, allowing both sides of
3333-600: Is found in the Utilities sub-folder of the Applications folder, or by remotely logging into the machine using ssh . Z shell is the default shell for macOS; Bash, tcsh , and the KornShell are also provided. Before macOS Catalina , Bash was the default. 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
3434-462: Is in terms of the 3270, but similar considerations apply to other types. Block-oriented terminals typically incorporate a buffer which stores one screen or more of data, and also stores data attributes, not only indicating appearance (color, brightness, blinking, etc.) but also marking the data as being enterable by the terminal operator vs. protected against entry, as allowing the entry of only numeric information vs. allowing any characters, etc. In
3535-400: Is limited, the number of concurrent lines that can be displayed at one time is limited. Vector-mode displays were historically important but are no longer used. Practically all modern graphic displays are raster-mode, descended from the picture scanning techniques used for television , in which the visual elements are a rectangular array of pixels . Since the raster image is only perceptible to
3636-444: Is pressed, so the application receives a ready string of text. In this mode, the application need not know much about the terminal. For many interactive applications this is not sufficient. One of the common enhancements is command-line editing (assisted with such libraries as readline ); it also may give access to command history. This is very helpful for various interactive command-line interpreters. Even more advanced interactivity
3737-428: Is provided with full-screen applications. Those applications completely control the screen layout; also they respond to key-pressing immediately. This mode is very useful for text editors, file managers and web browsers . In addition, such programs control the color and brightness of text on the screen, and decorate it with underline, blinking and special characters (e.g. box-drawing characters ). To achieve all this,
3838-406: Is simplified by line editing and history mechanisms for storing frequently used sequences; 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
3939-516: Is the grammar that all commands must follow. In the case of operating systems , 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. These rules also dictate how a user navigates through the system of commands. The semantics define what sort of operations are possible, on what sort of data these operations can be performed, and how
4040-509: The IBM 2741 (1965) and the DECwriter (1970). Respective top speeds of teletypes, IBM 2741 and the LA30 (an early DECwriter) were 10, 15 and 30 characters per second. Although at that time "paper was king" the speed of interaction was relatively limited. The DECwriter was the last major printing-terminal product. It faded away after 1980 under pressure from video display units (VDUs), with
4141-750: The Intel 8080 . This made them inexpensive and they quickly became extremely popular input-output devices on many types of computer system, often replacing earlier and more expensive printing terminals. After 1970 several suppliers gravitated to a set of common standards: The experimental era of serial VDUs culminated with the VT100 in 1978. By the early 1980s, there were dozens of manufacturers of terminals, including Lear-Siegler , ADDS , Data General, DEC , Hazeltine Corporation , Heath/Zenith , Hewlett-Packard , IBM, TeleVideo , Volker-Craig, and Wyse , many of which had incompatible command sequences (although many used
cmd.exe - Misplaced Pages Continue
4242-506: The VT220 terminal strongly influenced the Model M shipped on IBM PCs from 1985, and through it all later computer keyboards. Although flat-panel displays were available since the 1950s, cathode-ray tubes continued to dominate the market until the personal computer had made serious inroads into the display terminal market. By the time cathode-ray tubes on PCs were replaced by flatscreens after
4343-476: The main function . Other languages, such as Python , expose operating system specific API (functionality) through sys module , and in particular sys.argv for command-line arguments . In Unix-like operating systems , a single hyphen used in place of a file name is a special value specifying that a program should handle data coming from the standard input or send data to the standard output . A command-line option or simply option (also known as
4444-584: The ASR Teletype models, included a paper tape reader and punch which could record output such as a program listing. The data on the tape could be re-entered into the computer using the tape reader on the teletype, or printed to paper. Teletypes used the current loop interface that was already used in telegraphy. A less expensive Read Only (RO) configuration was available for the Teletype. Custom-designs keyboard/printer terminals that came later included
4545-533: The CLI, whereas the MATLAB GUI exposes only a subset of features. In Colossal Cave Adventure from 1975, the user uses a CLI to enter one or two words to explore a cave system. The command-line interface evolved from a form of communication conducted by people over teleprinter (TTY) machines. Sometimes these involved sending an order or a confirmation using telex . Early computer systems often used teleprinter as
4646-524: The PC's serial ports . These were typically used to interface an organization's new PC's with their existing mini- or mainframe computers, or to connect PC to PC. Some of these PCs were running Bulletin Board System software. Early operating system CLIs were implemented as part of resident monitor programs, and could not easily be replaced. The first implementation of the shell as a replaceable component
4747-498: The Windows CMD.EXE programs, the latter groups being based heavily on DEC's RSX-11 and RSTS CLIs. Under most operating systems, it is possible to replace the default shell program with alternatives; examples include 4DOS for DOS, 4OS2 for OS/2, and 4NT / Take Command for Windows. Although the term 'shell' is often used to describe a command-line interpreter, strictly speaking, a 'shell' can be any program that constitutes
4848-642: The application must deal not only with plain text strings, but also with control characters and escape sequences, which allow moving the cursor to an arbitrary position, clearing portions of the screen, changing colors and displaying special characters, and also responding to function keys. The great problem here is that there are many different terminals and terminal emulators, each with its own set of escape sequences. In order to overcome this, special libraries (such as curses ) have been created, together with terminal description databases, such as Termcap and Terminfo. A block-oriented terminal or block mode terminal
4949-411: The beginning of the decade and 19.6 kbps by the end of the decade, with higher speeds possible on more expensive terminals. The function of a terminal is typically confined to transcription and input of data; a device with significant local, programmable data-processing capability may be called a "smart terminal" or fat client . A terminal that depends on the host computer for its processing power
5050-498: The behavior and basic set of commands are consistent. cmd.exe is the counterpart of COMMAND.COM in DOS and Windows 9x systems, and analogous to the Unix shells used on Unix-like systems. The initial version of cmd.exe for Windows NT was developed by Therese Stowell. Windows CE 2.11 was the first embedded Windows release to support a console and a Windows CE version of cmd.exe . The ReactOS implementation of cmd.exe
5151-423: The command In zsh the $ RPROMPT variable controls an optional prompt on the right-hand side of the display. It is not a real prompt in that the location of text entry does not change. It is used to display information on the same line as the prompt, but right-justified. In RISC OS the command prompt is a * symbol, and thus (OS) CLI commands are often referred to as star commands . One can also access
SECTION 50
#17327725105365252-670: The command line interface as the primary user interface replaced by the Graphical User Interface . The command line remained available as an alternative user interface, often used by system administrators and other advanced users for system administration, computer programming and batch processing . In November 2006, Microsoft released version 1.0 of Windows PowerShell (formerly codenamed Monad ), which combined features of traditional Unix shells with their proprietary object-oriented .NET Framework . MinGW and Cygwin are open-source packages for Windows that offer
5353-399: The command should act. The > in the third example is a redirection operator , telling the command-line interpreter to send the output of the command not to its own standard output (the screen) but to the named file. This will overwrite the file. Using >> will redirect the output and append it to the file. Another redirection operator is the vertical bar ( | ), which creates
5454-431: The commands and responses can be displayed using refreshable Braille displays . The general pattern of a command line interface is: In this format, the delimiters between command-line elements are whitespace characters and the end-of-line delimiter is the newline delimiter. This is a widely used (but not universal) convention. A CLI can generally be considered as consisting of syntax and semantics . The syntax
5555-410: The computer handling character generation and outputting to a CRT display such as a computer monitor or, sometimes, a consumer TV, but most larger computers continued to require terminals. Early terminals were inexpensive devices but very slow compared to punched cards or paper tape for input; with the advent of time-sharing systems, terminals slowly pushed these older forms of interaction from
5656-569: The computer manufacturer for terminals to expand the systems. In fact, the instruction design for the Intel 8008 was originally conceived at Computer Terminal Corporation as the processor for the Datapoint 2200 . From the introduction of the IBM 3270 , and the DEC VT100 (1978), the user and programmer could notice significant advantages in VDU technology improvements, yet not all programmers used
5757-407: The current time, user, shell number or working directory) in order, for instance, to make the prompt more informative or visually pleasing, to distinguish sessions on various machines, or to indicate the current level of nesting of commands. On some systems, special tokens in the definition of the prompt can be used to cause external programs to be called by the command-line interpreter while displaying
5858-422: The default is the opposite. Renaming of the executables also works: people often rename their favourite editor to EDIT, for example. The command line allows one to restrict available commands, such as access to advanced internal commands. The Windows CMD.EXE does this. Often, shareware programs will limit the range of commands, including printing a command 'your administrator has disabled running batch files' from
5959-600: The development of the VDU were the Univac Uniscope and the IBM 2260 , both in 1964. These were block-mode terminals designed to display a page at a time, using proprietary protocols; in contrast to character-mode devices, they enter data from the keyboard into a display buffer rather than transmitting them immediately. In contrast to later character-mode devices, the Uniscope used synchronous serial communication over an EIA RS-232 interface to communicate between
6060-479: The device) could be updated on a single character basis, if necessary, because of the existence of a "set buffer address order" (SBA), that usually preceded any data to be written/overwritten within the buffer. A complete buffer could also be read or replaced using the READ BUFFER command or WRITE command (unformatted or formatted in the case of the 3270). Block-oriented terminals cause less system load on
6161-423: The display, as well as the ability to switch emulation modes to mimic competitor's models, that became increasingly important selling features during the 1980s especially, when buyers could mix and match different suppliers' equipment to a greater extent than before. The advance in microprocessors and lower memory costs made it possible for the terminal to handle editing operations such as inserting characters within
SECTION 60
#17327725105366262-564: The early ADM-3 as a starting point). The great variations in the control codes between makers gave rise to software that identified and grouped terminal types so the system software would correctly display input forms using the appropriate control codes; In Unix-like systems the termcap or terminfo files, the stty utility, and the TERM environment variable would be used; in Data General's Business BASIC software, for example, at login-time
6363-624: The fact that early character-mode terminals were often deployed to replace teletype machines as a way to reduce operating costs. The next generation of VDUs went beyond teletype emulation with an addressable cursor that gave them the ability to paint two-dimensional displays on the screen. Very early VDUs with cursor addressibility included the VT05 and the Hazeltine 2000 operating in character mode, both from 1970. Despite this capability, early devices of this type were often called "Glass TTYs". Later,
6464-460: The features of the new terminals ( backward compatibility in the VT100 and later TeleVideo terminals, for example, with "dumb terminals" allowed programmers to continue to use older software). Some dumb terminals had been able to respond to a few escape sequences without needing microprocessors: they used multiple printed circuit boards with many integrated circuits ; the single factor that classed
6565-501: The features that are commonly considered to produce structured programs. The Bourne shell led to the development of the KornShell (ksh), Almquist shell (ash), and the popular Bourne-again shell (or Bash). Early microcomputers themselves were based on a command-line interface such as CP/M , DOS or AppleSoft BASIC . During the 1980s and 1990s, the introduction of the Apple Macintosh and of Microsoft Windows on PCs saw
6666-506: The first Multics shell was developed by Glenda Schroeder . The first Unix shell , the V6 shell , was developed by Ken Thompson in 1971 at Bell Labs and was modeled after Schroeder's Multics shell. The Bourne shell was introduced in 1977 as a replacement for the V6 shell. Although it is used as an interactive command interpreter, it was also intended as a scripting language and contains most of
6767-464: The following special characters : and white space. The following is a list of the Microsoft OS/2 internal cmd.exe commands : The following list of internal commands is supported by cmd.exe on Windows NT and later: The following list of commands is supported by cmd.exe on Windows CE .NET 4.2, Windows CE 5.0 and Windows Embedded CE 6.0: In addition, the net command
6868-399: The following commands to execute. For example: In the above example, CommandB will only execute if CommandA completes successfully, and the execution of CommandC depends on the successful completion of CommandB . To process subsequent commands even if the previous command produces an error, the command separator & should be used. For example: On Windows XP or later,
6969-412: The grammar represents these operations and data—the symbolic meaning in the syntax. 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 learn anything, as well as to enable re-use of scripts. A simple CLI will display a prompt, accept a command line typed by
7070-548: The host and less network traffic than character-oriented terminals. They also appear more responsive to the user, especially over slow connections, since editing within a field is done locally rather than depending on echoing from the host system. Early terminals had limited editing capabilities – 3270 terminals, for example, only could check entries as valid numerics. Subsequent "smart" or "intelligent" terminals incorporated microprocessors and supported more local processing. Programmers of block-oriented terminals often used
7171-429: The human eye as a whole for a very short time, the raster must be refreshed many times per second to give the appearance of a persistent display. The electronic demands of refreshing display memory meant that graphic terminals were developed much later than text terminals, and initially cost much more. Most terminals today are graphical; that is, they can show images on the screen. The modern term for graphical terminal
7272-419: The industry. Related developments were the improvement of terminal technology and the introduction of inexpensive video displays . Early Teletypes only printed out with a communications speed of only 75 baud or 10 5-bit characters per second, and by the 1970s speeds of video terminals had improved to 2400 or 9600 2400 bit/s . Similarly, the speed of remote batch terminals had improved to 4800 bit/s at
7373-501: The interface mode. At this point, commands from the system mode may not be accessible until the user exits the interface mode and enters the system mode. A command prompt (or just prompt ) is a sequence of (one or more) characters used in a command-line interface to indicate readiness to accept commands. It literally prompts the user to take action. A prompt usually ends with one of the characters $ , % , # , : , > or - and often includes other information, such as
7474-812: The last revision (the DECwriter IV of 1982) abandoning the classic teletypewriter form for one more resembling a desktop printer. A video display unit (VDU) displays information on a screen rather than printing text to paper and typically uses a cathode-ray tube (CRT). VDUs in the 1950s were typically designed for displaying graphical data rather than text and were used in, e.g., experimental computers at institutions like MIT ; computers used in academia, government and business, sold under brand names like DEC , ERA , IBM and UNIVAC ; military computers supporting specific defence applications such as ballistic missile warning systems and radar/air defence coordination systems like BUIC and SAGE . Two early landmarks in
7575-431: The later ADM and TVI models) did have a primitive block-send capability. Common early uses of local processing power included features that had little to do with off-loading data processing from the host computer but added useful features such as printing to a local printer, buffered serial data transmission and serial handshaking (to accommodate higher serial transfer speeds), and more sophisticated character attributes for
7676-411: The maximum length of the string that can be used at the command prompt is 8191 (2-1) characters. On earlier versions, such as Windows 2000 or Windows NT 4.0 , the maximum length of the string is 2047 (2-1) characters. This limit includes the command line, individual environment variables that are inherited by other processes , and all environment variable expansions. Quotation marks are required for
7777-598: The means of interaction with an operator. The mechanical teleprinter was replaced by a "glass tty" , a keyboard and screen emulating the teleprinter. "Smart" terminals permitted additional functions, such as cursor movement over the entire screen, or local editing of data on the terminal for transmission to the computer. As the microcomputer revolution replaced the traditional – minicomputer + terminals – time sharing architecture, hardware terminals were replaced by terminal emulators — PC software that interpreted terminal signals sent through
7878-404: The multiplexer and the host, while the 2260 used either a channel connection or asynchronous serial communication between the 2848 and the host. The 2265, related to the 2260, also used asynchronous serial communication. The Datapoint 3300 from Computer Terminal Corporation , announced in 1967 and shipped in 1969, was a character-mode device that emulated a Model 33 Teletype . This reflects
7979-461: The newer C:\> style, unless used on floppy drives A: or B:; on those systems PROMPT $ N$ G can be used to override the automatic default and explicitly switch to the older style. Many Unix systems feature the $ PS1 variable (Prompt String 1), although other variables also may affect the prompt (depending on the shell used). In the Bash shell, a prompt of the form: could be set by issuing
8080-465: The operating system. A program that implements such a text interface is often called a command-line interpreter, command processor or shell . Examples of command-line interpreters include Nushell , DEC's DIGITAL Command Language (DCL) in OpenVMS and RSX-11 , the various Unix shells ( sh , ksh , csh , tcsh , zsh , Bash , etc.), CP/M 's CCP , DOS ' COMMAND.COM , as well as the OS/2 and
8181-407: The operator attempted to enter more data into the field than allowed. A graphical terminal can display images as well as text. Graphical terminals are divided into vector-mode terminals, and raster mode . A vector-mode display directly draws lines on the face of a cathode-ray tube under control of the host computer system. The lines are continuously formed, but since the speed of electronics
8282-493: The option to be preceded by at least one space (and is case-sensitive). The format of options varies widely between operating systems. In most cases the syntax is by convention rather than an operating system requirement; the entire command line is simply a string passed to a program, which can process it in any way the programmer wants, so long as the interpreter can tell where the command name ends and its arguments and options begin. Computer terminal A computer terminal
8383-462: The options of a command. The command-line environment may not provide 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 icons and drop-down menus of a graphical user interface, without reference to manuals. Operating system (OS) command-line interfaces are usually distinct programs supplied with
8484-468: The path of the current working directory and the hostname . On many Unix and derivative systems , the prompt commonly ends in $ or % if the user is a normal user, but in # if the user is a superuser ("root" in Unix terminology). End-users can often modify prompts. Depending on the environment, they may include colors, special characters, and other elements (like variables and functions for
8585-457: The pipeline to run concurrently. As a result, it is possible to redirect the standard error stream . ( COMMAND.COM uses temporary files, and runs the two sides serially, one after the other.) Multiple commands can be processed in a single command line using the command separator && . When using this separator in the Windows cmd.exe , each command must complete successfully for
8686-428: The prompt. Some CLIs, such as those in network routers , have a hierarchy of modes , with a different set of commands supported in each mode. The set of commands are grouped by association with security, system, interface, etc. In these systems the user might traverse through a series of sub-modes. For example, if the CLI had two modes called interface and system , the user might use the command interface to enter
8787-548: The prompt. In DOS' COMMAND.COM and in Windows NT's cmd.exe users can modify the prompt by issuing a PROMPT command or by directly changing the value of the corresponding %PROMPT% environment variable . The default of most modern systems, the C:\> style is obtained, for instance, with PROMPT $ P$ G . The default of older DOS systems, C> is obtained by just PROMPT , although on some systems this produces
8888-463: The same commands from other command lines (such as the BBC BASIC command line), by preceding the command with a * . A command-line argument or parameter is an item of information provided to a program when it is started. A program can have many command-line arguments that identify sources or destinations of information, or that alter the operation of the program. When a command processor
8989-472: The same limited functionality as does a mechanical Teletype. This type of dumb terminal is still supported on modern Unix-like systems by setting the environment variable TERM to dumb . Smart or intelligent terminals are those that also have the ability to process escape sequences, in particular the VT52, VT100 or ANSI escape sequences. A text terminal , or often just terminal (sometimes text console )
9090-413: The screen usually causes the terminal to scroll down one line, entering data into the last screen position on a block-oriented terminal usually causes the cursor to wrap — move to the start of the first enterable field. Programmers might "protect" the last screen position to prevent inadvertent wrap. Likewise a protected field following an enterable field might lock the keyboard and sound an audible alarm if
9191-415: The simplest form, a text terminal is like a file. Writing to the file displays the text and reading from the file produces what the user enters. In Unix-like operating systems, there are several character special files that correspond to available text terminals. For other operations, there are special escape sequences , control characters and termios functions that a program can use, most easily via
9292-494: The structure of the document, but later word processors operate in a graphical environment and provide a WYSIWYG simulation of the formatted output. However, text editors are still used for documents containing markup such as DocBook or LaTeX . Programs such as Telix and Minicom control a modem and the local terminal to let the user interact with remote servers. On the Internet , telnet and ssh work similarly. In
9393-511: The technique of storing context information for the transaction in progress on the screen, possibly in a hidden field, rather than depending on a running program to keep track of status. This was the precursor of the HTML technique of storing context in the URL as data to be passed as arguments to a CGI program. Unlike a character-oriented terminal, where typing a character into the last position of
9494-474: The term "glass TTY" tended to be restrospectively narrowed to devices without full cursor addressibility. The classic era of the VDU began in the early 1970s and was closely intertwined with the rise of time sharing computers . Important early products were the ADM-3A , VT52 , and VT100 . These devices used no complicated CPU , instead relying on individual logic gates , LSI chips, or microprocessors such as
9595-455: 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
9696-410: 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
9797-615: The user-interface, including fully graphically oriented ones. For example, the default Windows GUI is a shell program named EXPLORER.EXE , as defined in the SHELL=EXPLORER.EXE line in the WIN.INI configuration file. These programs are shells, but not CLIs. Application programs (as opposed to operating systems) may also have command-line interfaces. An application program may support none, any, or all of these three major types of command-line interface mechanisms: Some applications support
9898-417: The year 2000, the hardware computer terminal was nearly obsolete. A character-oriented terminal is a type of computer terminal that communicates with its host one character at a time, as opposed to a block-oriented terminal that communicates in blocks of data. It is the most common type of data terminal, because it is easy to implement and program. Connection to the mainframe computer or terminal server
9999-603: Was a Friden Flexowriter , which would continue to serve this purpose on many other early computers well into the 1960s. Early user terminals connected to computers were, like the Flexowriter, electromechanical teleprinters /teletypewriters (TeleTYpewriter, TTY), such as the Teletype Model ;33 , originally used for telegraphy ; early Teletypes were typically configured as Keyboard Send-Receive (KSR) or Automatic Send-Receive (ASR). Some terminals, such as
10100-499: Was claimed to reduce eye strain). Terminals with modest color capability were also available but not widely used; for example, a color version of the popular Wyse WY50, the WY350, offered 64 shades on each character cell. VDUs were eventually displaced from most applications by networked personal computers, at first slowly after 1985 and with increasing speed in the 1990s. However, they had a lasting influence on PCs. The keyboard layout of
10201-568: Was part of the Multics time-sharing operating system . In 1964, MIT Computation Center staff member Louis Pouzin developed the RUNCOM tool for executing command scripts while allowing argument substitution. Pouzin coined the term shell to describe the technique of using commands like a programming language, and wrote a paper about how to implement the idea in the Multics operating system. Pouzin returned to his native France in 1965, and
#535464