Command Line Interface or CLI is a method that enables people to instruct a computer program using plain text line. It should be noted that the concept of CLI, Shell and Terminal Emulator are not the same, but are often used synonymously. Thus it is important to know What is Terminal, What we mean by the words Terminal Emulation and Terminal and What is Unix Shell or Shell. Secured Shell is another confusing terminology to the new users, this is what we call SSH. Command Line most powerful way to interact with the computer, we have shown in Command Line Web Browsing and with Links CLI Based Browser we can actually browse from Command Line with full graphics on.
If you already getting astonished with the unknown World, there are more – it is possible to use Facebook from Command Line Interface, same for Twitter or even Google Web Search. Minimum must to know commands can be found in the guide – Learning the Command Line Interface. But, this is not a guide on Command Line Interface or CLI, rather it is an article on Command Line Interface.
This Command Line Interface or CLI can be used interactively, writing instruction in some sort of text input or can be used in a much more automated way using batch files by reading commands from file scripts.
Command Line Interface or CLI : Some History
The terminologies are closer and confusing. This is primarily because of the same Application names, same hardware-software combination name. In Linux or UNIX, the user might not be able to browser or Edit all the files from Graphical User Interface (GUI). Not the user but the Super User (su command) can Edit some files. There is a term wheel group, this wheel refers to an user account with a wheel bit, a system setting that provides additional special system privileges that empower an user to execute restricted commands. It is present in UNIX / OS X, all Linux and BSD variants. Wheel is present since 1960s.
The Command Line Interface was the primary means of interaction with most popular operating systems since 1970s. Apple DOS was the family of disk operating systems for the Apple II series of microcomputers from late 1978, had Command Line Interface, MS-DOS was an operating system for x86-based personal computers of IBM PC compatible personal computers during the 1980s to the mid-1990s. Apple III computer’s manual is still available :
Do not wonder whether in 1980 there was pdf present or not. MS-DOS is still used in some enterprises to run legacy applications.
Implementations of Command Line Interface
Almost any program can be designed to give the user some sort of command line interface. For example, PC gaming with a shell commonly known as console (arising another confusion with The Console) which is used for diagnostic and administrative tasks. Quake, Unreal Tournament, Ragnarok Online or Battlefield are examples. Sometimes the console is the only way to repair problems or run hacks. God Mode is essentially the Super User mode hack. As practically there is no reason to think about security, the keyboard mapping hacks are left unfiltered.
When it comes to a program that interacts with the kernel of an operating system is often called shell. Examples include various Unix shell, about which we said above. Windows Vista introduced a CLI called Windows PowerShell, which combined the features of traditional Unix shells with their object oriented .NET framework. The default Windows GUI is created by a shell program named EXPLORER.EXE, it is defined in the SHELL=EXPLORER.EXE line in the WIN.INI configuration file. This is why restart EXPLORER.EXE to fix many issues in Windows PC, it does a soft reboot at software level.
Command is provided by the client or user, Prompt is generated by the program to provide context for the client or user. Microsoft deliberately named their command-line interpreter tool as Command Prompt since OS/2 to confuse the consumers. A command-line argument or parameter is an item of information provided to a program when it is started. Some applications support only a CLI – DEBUG, Diskpart, Fdisk, Ping are some examples.