Perhaps one of the more difficult adjustments for new Linux users is the pervasive command prompt. Where once you saw buttons and GUI widgets, you now see text files named .foorc and foo.cnf. Of course, GUI utilities have been built to modify many of these configuration and resource files, and it's rather simple to build your own if you desire with scripts, but Linux (and Unix in general) are home to the command line. It makes sense that you become comfortable with it too in order to enjoy Linux.
Unix gurus often shock newbies by saying something like, "I would rather use the command line than some GUI widget to tweak my system." If you've grown up with Windows or Windows 95 or the Mac, you may have never used the command line. At best, the command line may be a distant country for you. Perhaps you could consider your life at the command line as learning a second language.
GUIs are a fairly new innovation in computing. In the early days of com- puting, monitors and keyboards did not exist. You programmed a computer by adjusting numerous switches along a wall of controls. With myriad hand switches and controls, programming and debugging were an extremely labo- rious process. Later, punch cards brought computer programs from the wall of switches to stacks of computer punch cards.
The first personal computer, the Altair from MITS, didn't have either a monitor or a keyboard, and it didn't even have connectors where you could connect one. It did, however, have a small bank of lights that could be turned on by the successful completion of a program. The program had to be entered in, laboriously, by flipping switches in sequence on the Altair's front panel. Memory was scarce to non-existent in those days, so if you spent all morning flipping switches to enter a program into memory, and someone kicked the plug out of the wall, you just lay down on the floor in a fetal position and cried. In these earlier days of computing, everyone had to be a "hacker."
I mention this brief history only to emphasize that GUIs and computers have only the shortest of histories together. The computing hardware of yesteryear, humble though it was, brought us to the moon and into outerspace, solved equations for manufacturing plastic, and helped develop numerous advances of pharmaceuticals. All without GUIs to speak of. We should probably remember that GUIs were developed for the PC primarily for the consumer market and not for the hardcore computing market.
Unix has been the tool of choice for power users since the late sixties. Linux is one of the first platforms to bring the consumer together with a scientist's power tool. How Linux continues to be accepted by the public at large reflects as much on society's evolution as on the science of computing. However, the romance of that original hacker's quest is still available from Linux.
By extension, how you adapt to the command line says something about your taste. If you can enjoy the command line as part of your computer heritage and recognize the GUI as a largely commercial innovation, you may find added incentive to master the command line. The command line is perhaps the most important vestage of our hacker heritage.
If "familiarity breeds contempt" is true in relationships, it is probably untrue in computing. People tend to favor what they are used to and distance themselves from the unfamiliar. By contrast, people seem to become advocates of what they know well in computing. There was a time when apples appeared in decals on car windows, and t-shirts proclaimed the wearer's taste in computing. I believe that if you become really familiar and comfortable with the Unix command line, you will prefer its flexibility and speed even over many types of GUIs in use today. This is simply because Unix is heir to the hacker philosophy that everything must be capable of being reconfigured. Linux adheres to this philosophy.
With a GUI, it is only possible to configure what someone has created a widget to configure. This means there must be two programs written for every resource file: the program which uses the resource, and the program which reconfigures the resource. Without the GUI, you only need the program which uses the resource. Any text editor can reconfigure the resource file in Unix.
This flexibility follows from the Unix philosophy of using many small tools instead of a single monolithic environment wherein all tools are contained. For example, where Visual C++ is an all-encompassing development environment, for example, a Unix developer might use xemacs or vi to create the source code, g++ for compiling and linking, xxgdb for debugging, and rcs to control revisions and configuration management. In Unix, tools can be extended with features beyond their original design, or they can simply interact with other tools according to the developer's preference. The all-in-one approach to tools are less common in Unix than in Windows. They do exist, however, but it is not the norm as it appears to be in Windows.
In conclusion, Unix and Linux may create for the newbie a command line culture shock, but it is a culture worth acclimating to. The command line offers many advantages when learned. It may even become the preferred environment when learned well.