EditHint: Combine with CommandLineInterface
The process by which you interface with the computer by using typed instructions at a command line, as opposed to using a GraphicalUserInterface (usually with a windowing-system & mouse-based navigation) to achieve the same result.
An analogy can be made between a hand axe and an electric chainsaw; They both work, they both have limitations, and sometimes going back to the older, simpler way is better than forcing the new way if you can get the little things done faster.
The advantages to CommandLineInterfacing is that one can more easily use native commands and programmed scripts to perform repetitive tasks more quickly. It saves your having to do the same mouse movements over and over, and you don't have to navigate through any tedious "start" menus.
Working in shells with keystrokes is more fun and proves you are a geek, a cut above the crowd. And perhaps a couple of years/miles behind, (Or is it twenty?) :)
Subjectively, the most common linux developer environment involves opening "terminal windows" on a GUI system. Its very common for a developer to have multiple xterms open, and to copy&paste between them. So a large number (possibly the majority) of CLI users actually do benefit from features of GUIs. I frequently use the ctrl-button mouse commands on my xterms to change their settings depending on what I'm using them for. And in many CAD packages, then keyboard acts as a 100-button mouse (I work with one hand on the mouse, and the other on the keyboard to rapidly switch between tools). I'm not sure that the chainsaw/hand-axe analogy is particularly good, but I strongly endorse the sentiment that the integration of both interfaces within a single environment provides a richer toolkit than either in isolation.