The graphical user interface (GUI) gave the power of the computer to the common man. No longer did one need to understand the beast to control it. While this led to the great democratization of the computer (not to mention the ubiquity of computing devices) it also took some of the fun and mystery out of being a computer guru.
Now, we seem to be traveling back to that earlier time. A bunch of products has popped up recently that reintroduce the command line to computing. The first is Ubiquity, an extension for Firefox. You bring up the Ubiquity box by using a command key (also a bit retro but appropriate) and type in commands to do things like get the weather or google that company you think might hire you. The results are displayed in a nice little chunk of interface that goes away when you navigate away.
A similar (and freeware) product is Start++. It transforms your Vista Start Menu search bar into a command line that accesses the same type of information as Ubiquity. Type “ g something” to google something. The initial results are displayed in the Start Menu box or it can launch your browser and display the results there. The commands are very similar to Ubiquity.
So why revert back to the command line, other than for old times sake? Efficiency mostly. Let's say I want to get the weather in Saskatoon. Assuming your browser is open (and let's be honest, who doesn't have a browser open 24X7), you need to select Bookmarks or Favorites, navigate to the page you have bookmarked as you favorite weather site and wait for it to load. Next, you have to enter in the city you want to get the weather for (Saskatoon, Saskatchewan), and hit enter. With a command line tool, you get to skip some steps and simply type in “ weather Saskatoon, Saskatchewan”. That's only little more typing and gets the same result much faster. The power of a command line is that you can get what you want much more quickly and efficiently.
That assumes you know the commands and therein lies the problem with command lines. You have to know the commands and they are not always intuitive. For example, with Ubiquity, you can check your calendar by typing in “ check-calendar”. Simple enough if you know (and remember) it. Wouldn't “ calendar” or even “ check calendar” be more intuitive? Definitely. I'm sure there are a dozen good reasons for choosing one command over another but it often doesn't make sense to common people.
While I like the ability to use command lines for short cuts, I don't see it being a hit outside the geek community. Few people want to remember lists of commands nor do they want to type long and convoluted strings to get something done. Ultimately, these command line tools will never be mainstream and only be of interest to programmers and sysadmins who do this sort of thing continually.
Let's not forget that there was a reason we got away from command lines in the first place.