Learn enough to be dangerous by Michael Hartl. Step-by-step, exhaustive introduction, (even about the initial set-up). The most encompassing resource on this list. Free resource.
Bash Handbook by Denys Dovhan. Beginner-friendly introduction to bash basics. Highly recommended. If you’re familiar with nodejs and nodeschool, also try out the interactive nodeschool tutorial learnyoubash that’s based on this handbook.
Launch School (formerly Teeleaf)
Better for those who dislike long explanations and who like to focus on exercises. Free resource.
Code Academy: Learn the Command Line
Interactive tutorial that runs in your browser, no set-up required. Freemium model.