"f u cn rd ths u mst uz unix"
If you're coming from Windows, or a Mac, or basically anything besides UNIX, UNIX will not make sense to you at first. It will seem cryptic, archaic, and you'll probably feel like it's unneccesarily difficult to do anything useful. You're right, it is--at first. The beauty of it, however, is that once you develop a set of instincts, you'll find that things magically work out the way you expect them to. You'll pick up a new tool and find out you already know how to use it. The key is developing these instincts. So I offer you the following steps.
- learn how to use a text editor: you will be editing text a lot. I recommend VIM, but reasonable people differ. Not only will this make you more efficient at doing something you'll do a lot, but you'll develop some of those instincts: for example, if you get used to moving around with h, j, k, and space, you'll find that you'll feel more comfortable with mutt the first time you use it.
- Explore all the text files in the /etc directory structure. The better distros will have these files liberally commented. This will also help you become more proficient with your text editor.
- Become familiar with the basic operations of the shell. Know how to create directories, copy files, delete files, etc. At a bare minimum, be familiar with cd, cp, rm, ls, mkdir, and mv. Become addicted to tab completion while you're at it.
- Read. A lot. The HOWTOs at www.linuxdoc.org are wonderful. You can read the man pages (manual) for any command by typing:
$ man <command>
at the prompt. These will probably not seem very useful at first, but they are a wonderful reference later on. Whenever you come across a command you don't understand, make it a habit to at least skim the man page
- Learn about regular expressions: Once you have at least a basic understanding of them, you'll realize that those massive strings of random punctuation aren't anything to be afraid of, and you just might find them useful sometime.
- Learn a scripting language: I like Perl, though I used to hate it and others still do. Python is gaining popularity, and has a rich set of standard class libraries. In any case, scripting is an integral part of working in a UNIX environment, and will make the experience much nicer.
- Try more than one variety of UNIX: This will help you to know which things are specific to one flavor of UNIX, and which are universal.
- Read man pages for system calls: find out what makes UNIX UNIX.
- Browse the kernel source
- Write a driver
- Write a UNIX-like OS from scratch.
- Make yourself a super-hero cape that says "UNIX MAN!"