man programname, apropos programname, programname --help, and reading on different forums/howtos
http://www.tldp.org/ is a good link.
as is http://floppix.com/ , their labs give a decent understanding of basic bash handling, hmmm and perhaps the library (look for unix aswell as linux).
most things a i have learned from the net. that is forums like this and the documentation on the programes homepage... and the documentation that comes with them ofcource.