I use Ubuntu Linux, so all of my info comes from that perspective. That said, most of it translates pretty simply, and much (most?) of this information is platform independent.
- Learn Enough Command Line to Be Dangerous - Introduction to the Unix command line.
- Mac to Windows Command Line Mappings
- reusable materials for bash/git/python bootcamps
- Connecting to GitHub with SSH
- Generating a new SSH key and adding it to the SSH agent
- Adding a new SSH key to your GitHub Account
- How to manage multiple GitHub accounts on a single machine with SSH keys
BASH - Shell Scripting
- Bash Guide for Beginners
This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples. I partly wrote it because I don’t get excited with stripped down and over-simplified examples written by people who know what they are talking about, showing some really cool Bash feature so much out of its context that you cannot ever use it in practical circumstances. You can read that sort of stuff after finishing this book, which contains exercises and examples that will help you survive in the real world.