The Command Line Interface (CLI) has been around since computers began, or at least since the early 1980’s. The CLI was the first means of interacting with a computer program or operating system (think of MS-DOS, CP/M, and Unix). This interface consisted of a command line shell and a collection of commands or instructions. A user typically entered these commands in the correct syntax in the shell to get the computer to do what they wanted.
Then along came the Apple Macintosh (released January 1984) and Microsoft Windows (released November 1985) with their Graphical User Interface (GUI). At that time, most initiated computer users were used to the CLI and various marketing campaigns launched to encourage adoption of the GUI. My favorite was the campaign where exhibitors gave out bags of chocolate covered raisins calling them “dragon droppings” to emphasize the visual drag-and-drop nature of the GUI.
The real power of a GUI came from its ability to grant power over computer processes to the common person. Basically anyone could point-and-click to what they wanted on a monitor and so basic computer management became accessible to everyone. As more and more people became addicted to computers the GUI improved to include better graphics, LCD displays, and of course today’s touch screens and voice activation.
Throughout all of these changes, the hardcore computer fanatic still found a use for the CLI because typically it offered a more concise and powerful means to control a program or operating system. This trend was especially evident in the open source community which still encourages BASH scripting as a means of controlling the ever-popular Linux operating system. Script kiddies and h@ck3rz used the CLI as a means for remotely controlling a computer system over limited bandwidth connections. The ability to send a few bytes of instruction over a remote connection brought about a sub-culture living in their parent’s basement lit by the glow of several monitors and littered with Twinkies wrappers and Yoo-hoo bottles. Even Hollywood recognized how computer computer geeks relied on CLI when they made the movies “The NET” and “WarGames“.
Even today, CLI hasn’t died, it’s just evolved into something better. Take the recent Microsoft TechEd event in New Orleans for example. Many of the most popular sessions at this event were all about learning PowerShell, the amazing “new” tool for deploying, managing, and programming in the Server 2012 environment. To be completely honest, PowerShell has tremendous features and access within the OS which allows System Administrators to build custom scripts which can accomplish almost anything a GUI could, and often do it much faster. And to be just as honest, PowerShell is simply the latest iteration of Microsoft’s CLI.
So, what is the current state of the Command Line? I think it’s very much alive and well and will continue to be a powerful influence on how we interface with computers for many years to come.
Until next time…
PS C:\> $a = Get-WmiObject win32_process -Filter “name = ‘write_blog.exe'”
PS C:\> $a._RELPATH
PS C:\> Invoke-WmiMethod -Path $a.__RELPATH -Name terminate