Table of Contents
If you think the word "Unix" refers to Sumerian servants specially "trained" to guard a harem, you've come to the right place.
This chapter is designed as a tutorial for users with little or no Unix experience.
If you are following this guide as part of an ungraded workshop, please feel free to work together on the exercises in this text. It would be very helpful if experienced users could assist less experienced users during the "practice breaks" in order to keep the class moving forward and avoid leaving anyone behind.
Most people make most things far more complicated than they need to be. Engineers and scientists, especially so.
A normal person says "If it ain't broke, don't fix it."
An engineer says "If it ain't broke, it doesn't have enough features yet."
We achieve more when we make things simple for ourselves.
We achieve less when we make things complicated.
Most people choose the latter.
The original Unix designers were an exception. Unix is designed to be as simple and elegant as possible. Some things may not seem intuitive at first, but this is probably because the first idea you would come up with is more convoluted than the Unix way. The Unix developers had the wisdom to constantly look for more elegant ways to achieve their goals instead of the most amazing ones or the first one that worked.
Learning the Unix way will therefore make you a wiser and happier computer user. I speak from experience.
Complexity is the product of carelessness or ego, and simplicity is the product of a wise and clear thinker.
"Simplicity is the ultimate sophistication."
-- Leonardo da Vinci
Unix is not hard to learn. You may have gotten the impression that it's a complicated system meant for geniuses while listening to geniuses talk about it. Don't let them fool you, though. The genius ego compels every genius to make things sound really hard, so you'll think they're smarter than you.
Another challenge with learning anything these days is filtering out all the noise on the Internet. Most tutorials on any given subject are incomplete and many contain misinformation or bad advice. As a result, new users are often pointed in the wrong direction and hit a dead end before long. One of the goals of this guide is a show a simple, sustainable, portable, and expandable approach to using Unix systems. This will reduce your learning curve by an order of magnitude.
Unix has grown immensely since it was created, but the reality is, you don't need to know a lot in order to use Unix effectively. The average Unix user can learn almost everything they'll need to know in a day or two. You can become more sophisticated over time if you want, but most Unix users don't really need to. It may be better to stick to the KISS principal (Keep It Simple, Stupid) and focus on becoming resourceful using the basic tools, rather than accumulating a lot of knowledge that you'll rarely use.
Unix is designed to be as simple as possible and to allow you to work as fast as possible, by staying out of your way. Many other systems will slow you down by requiring you to use cumbersome user interfaces or spend time learning new proprietary methods. As you become a master of Unix, your productivity will be limited only by the speed of the hardware and programs you run.
If something is proving difficult to do under Unix, you're probably going about it wrong. There is almost always an easier way, and if there isn't, then you probably shouldn't be trying to do what you're trying to do. If it were a wise thing to do, some Unix developer would have invented an elegant solution by now. Adapt to the wisdom of those who traveled this road before you, and life will become simpler.