For those interested in this sort of thing, Harvard Extension School offers a course based off of the 'Understanding Unix/Linux Programming' text taught by the author (http://sites.fas.harvard.edu/~lib215/). I took it a few years ago and found it worthwhile...
[1] http://www.amazon.com/Understanding-UNIX-LINUX-Programming-P...
It appears to be a bit expensive at the moment, but it's commonly used as a textbook, so there's a plentiful used market for it.
http://www.amazon.com/Understanding-UNIX-LINUX-Programming-P...
It also delves into the basic tools and then writes them from scratch. I found it quite inspiring as to where to spend time while learning UNIX.
[0] https://www.amazon.com/Understanding-UNIX-LINUX-Programming-...