The Command Line Crash Course
If you want to learn to program you need some basic knowledge on working with the command line. This book is written by Zed A. Shaw, who also wrote books on Python, Ruby and C. You cand find them on his website: http://learncodethehardway.org