In a sense, the desktop is the best thing that ever happened to the command line. Because a virtual terminal runs in a graphical environment, it boasts all sorts of enhancements that the unadorned shell lacks -- everything from multiple tabs to easy selection of display fonts and background and foreground colors. Perhaps the resulting power and convenience explains why, even at a time when the emphasis is on giving every application a graphical interface -- no matter how inappropriately -- people still write useful utilities for virtual terminals. A good example is Terminator, a program designed to perform one simple function: displaying multiple instances of the GNOME terminal within the same window.
Everyone knows what a Linux shell is -- you open up a Linux terminal window (such as Konsole or xterm), type in some commands, and there you are, using your Linux shell. Write your commands to a file, make it executable, run it, and you're a shell programmer. But did you know that there are different shells that you can use, and that each shell operates in a slightly different way? My personal favorite is the Korn shell; by the end of this article, it may be your favorite as well.
Sometimes when I run ls to get a directory listing, I am looking for a specific file, but I want to see the whole context where the file resides. While you can pipe the output of ls to grep, that doesn't show you the whole directory with the matched files highlighted in a different color. I create a small script to do just what I want.
Emacs fans, limber up your fingers -- there's a new GNU in town. Almost six years after the release of the previous version, the Free Software Foundation has announced the release of GNU Emacs 22. (Actually, 22.1, but who's counting?) This release includes support for GTK+, drag and drop support for X, a number of new modes, and a graphical interface to the GNU Debugger (GDB).