A report on 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 graphical user interface with icons and windows (GEM 1.1 Desktop)
Apple Computer's CommandShell in A/UX 3.0.1
GNU Octave's GUI with command-line interface
Bourne shell interaction on Version 7 Unix
Prompt of a BBC Micro after switch-on or hard reset
An MS-DOS command line, illustrating parsing into command and arguments
The end of the HELP command output from RT-11SJ displayed on a VT100
A Teletype Model 33 ASR teleprinter keyboard with punched tape reader and punch
DEC VT52 terminal

A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text.

- Command-line interface
Screenshot of a sample Bash session in GNOME Terminal 3, Fedora 15

93 related topics with Alpha

Overall

OS/360 was used on most IBM mainframe computers beginning in 1966, including computers used by the Apollo program.

Operating system

18 links

System software that manages computer hardware, software resources, and provides common services for computer programs.

System software that manages computer hardware, software resources, and provides common services for computer programs.

OS/360 was used on most IBM mainframe computers beginning in 1966, including computers used by the Apollo program.
PC DOS was an early personal computer OS that featured a command-line interface.
Mac OS by Apple Computer became the first widespread OS to feature a graphical user interface. Many of its features such as windows and icons would later become commonplace in GUIs.
The first server for the World Wide Web ran on NeXTSTEP, based on BSD.
Ubuntu, desktop Linux distribution
Linux, a unix-like operating system was first time released on September 17, 1991, by Linus Torvalds. Picture of Tux the penguin, mascot of Linux.
A kernel connects the application software to the hardware of a computer.
Privilege rings for the x86 microprocessor architecture available in protected mode. Operating systems determine which processes run in each mode.
Many operating systems can "trick" programs into using memory scattered around the hard disk and RAM as if it is one continuous chunk of memory, called virtual memory.
File systems allow users and programs to organize and sort files on a computer, often through the use of directories (or "folders").
A screenshot of the Bash command line. Each command is typed out after the 'prompt', and then its output appears below, working its way down the screen. The current command prompt is at the bottom.
A screenshot of the KDE Plasma 5 graphical user interface. Programs take the form of images on the screen, and the files, folders (directories), and applications take the form of icons and symbols. A mouse is used to navigate the computer.

For example, in the command-line environment, pressing the interrupt character (usually Control-C) might terminate the currently running process.

The GUI is presented (displayed) on the computer screen. It is the result of processed user input and usually the main interface for human-machine interaction. The touch UIs popular on small mobile devices are an overlay of the visual output to the visual input.

Graphical user interface

13 links

Form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based UIs, typed command labels or text navigation.

Form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based UIs, typed command labels or text navigation.

The GUI is presented (displayed) on the computer screen. It is the result of processed user input and usually the main interface for human-machine interaction. The touch UIs popular on small mobile devices are an overlay of the visual output to the visual input.
Layers of a GUI based on a windowing system
The Xerox Star 8010 workstation introduced the first commercial GUI.
Macintosh 128K, the first Macintosh (1984)
HP LX System Manager running on a HP 200LX.
A modern CLI
GNOME Shell
KDE Plasma 5
MATE
Windows on example Wayland compositor
Xfce
Enlightenment
Sugar
A twm X Window System environment
The dwm tiling window manager
Cinnamon
Phosh

GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

Unix System III running on a PDP-11 simulator

Unix

14 links

Family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

Family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

Unix System III running on a PDP-11 simulator
Unix System III running on a PDP-11 simulator
Version 7 Unix, the Research Unix ancestor of all modern Unix systems
Ken Thompson (sitting) and Dennis Ritchie working together at a PDP-11
The Common Desktop Environment (CDE), part of the COSE initiative
Ken Thompson and Dennis Ritchie, principal developers of Research Unix
Photo from USENIX 1984, including Dennis Ritchie (center)
Plan 9 from Bell Labs extends Unix design principles and was developed as a successor to Unix.
Promotional license plate by Digital Equipment Corporation
HP9000 workstation running HP-UX, a certified Unix operating system

Unix systems are characterized by various concepts: the use of plain text for storing data; a hierarchical file system; treating devices and certain types of inter-process communication (IPC) as files; and the use of a large number of software tools, small programs that can be strung together through a command-line interpreter using pipes, as opposed to using a single monolithic program that includes all of the same functionality.

Bourne shell interaction on Version 7 Unix

Bourne shell

9 links

Bourne shell interaction on Version 7 Unix
Bourne shell interaction on Version 7 Unix
Version 7 Unix: the original Bourne shell manual page. PDP-11 simulation with SIMH
Interaction with pdksh in OpenBSD (default shell)

The Bourne shell ( ) is a shell command-line interpreter for computer operating systems.

Environment variable

9 links

Dynamic-named value that can affect the way running processes will behave on a computer.

Dynamic-named value that can affect the way running processes will behave on a computer.

The variables can be used both in scripts and on the command line.

The DEC VT100, a widely emulated computer terminal

Computer terminal

8 links

Electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system.

Electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system.

The DEC VT100, a widely emulated computer terminal
IBM 2741, a widely emulated computer terminal in the 1960s and 1970s (keyboard/printer)
A Teletype Model 33 ASR teleprinter, usable as a terminal
Closeup of an IBM 2741 printing terminal, which used a changeable Selectric "golfball" typing element and was faster than the earlier teletype machines
IBM 2250 Model 4, including light pen and programmed function keyboard
A Televideo ASCII character mode terminal
A typical text terminal produces input and displays output and errors
Nano text editor running in the xterm terminal emulator

This arrangement permits terminal-like interaction with the computer (for running a command-line interpreter, for example) without the need for a physical terminal device; it can even run multiple terminal emulators on the same device.

COMMAND.COM in Windows 8

COMMAND.COM

6 links

COMMAND.COM in Windows 8
command.com running in a Windows console on Windows 95 (MS-DOS Prompt)

COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95-98, Windows 98SE and Windows Me.

Scripting language

10 links

Programming language that is used to manipulate, customize, and automate the facilities of an existing system.

Programming language that is used to manipulate, customize, and automate the facilities of an existing system.

Many of these languages' interpreters double as command-line interpreters such as the Unix shell or the MS-DOS.

Some file managers implement a TUI (here: Midnight Commander)

Text-based user interface

8 links

Retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of graphical user interfaces (GUIs).

Retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of graphical user interfaces (GUIs).

Some file managers implement a TUI (here: Midnight Commander)
The FreeDOS Edit user interface
Mouse cursor in Impulse Tracker. A more precise cursor (per-pixel resolution) was achieved by regenerating the glyphs of characters used where the cursor was visible, at each mouse movement in real-time.
Snapshot of 'XFdrake', a TUI used in Mandriva Linux to configure the graphical system
Screenshot of the desktop of an Oberon System showing an image and several text viewers
Embedded system displaying menu on an LCD screen

Later versions added the Win32 console as a native interface for command-line interface and TUI programs.

C (programming language)

12 links

General-purpose computer programming language.

General-purpose computer programming language.

Dennis Ritchie (right), the inventor of the C programming language, with Ken Thompson
The cover of the book The C Programming Language, first edition, by Brian Kernighan and Dennis Ritchie
"Hello, World!" program by Brian Kernighan (1978)
The C Programming Language
The TIOBE index graph, showing a comparison of the popularity of various programming languages

In order for a program to use a library, it must include the library's header file, and the library must be linked with the program, which in many cases requires compiler flags (e.g.,, shorthand for "link the math library").