Basically just use the Man page as much as you can, and just relax because it takes time.
Some of the sources that I've used are,
Beginning the Linux Command Line
Linux Command Line and Shell Scripting Bible
VBT (Video Based Training)
CBT Nuggets LPIC
CBT Nuggets RHCE
Linux CBT Shell, Perl, PHP, Python Scripting Edition
But I think it just comes with time, and patience. The more you use it, the more you will become familiar with it. You will pick some of it up fast, and other times you will burn it into your memory from having to pull up the manual page each time.
Very important! --> Also look into terminal shortcuts here is a list to get you going. The ones below are some that I think are important to learn.
Edited by goonies - 10/27/11 at 2:36pm
Autocomplete commands and file names. Type the first letter(s) of a command, directory or file name, press Tab and the rest is completed automatically! If there are more commands starting with the same letters, the shell completes as much as it can and beeps. If you then press Tab again, it shows you all the alternatives. This shortcut is really helpful and saves a lot of typing! It even works at the lilo prompt and in some X applications.
Shift + PageUp
Scroll terminal output up.
Shift + PageDown
Scroll terminal output down.
Ctrl + l
Does exactly the same as typing the clear command.
If you mess up your terminal, use the reset command. For example, if you try to cat a binary file, the terminal starts showing weird characters. Note that you may not be able to see the command when you're typing it.
Ctrl + r
Find the last command that contained the letters you're typing. For example, if you want to find out the last action you did to a file called "file42.txt", you'll press Ctrl + r and start typing the file name. Or, if you want to find out the last parameters you gave to the "cp" command, you'll press Ctrl + r and type in "cp".
Ctrl + c
Kill the current process.
Ctrl + z
Send the current process to background. This is useful if you have a program running, and you need the terminal for awhile but don't want to exit the program completely. Then just send it to background with Ctrl+z, do whatever you want, and type the command fg to get the process back.
Ctrl + d
Log out from the current terminal. If you use this in a terminal emulator under X, this usually shuts down the terminal emulator after logging you out.