Learning Unix for OS X: Going Deep With the Terminal and Shell