i will reiterate, linux != unix. Redhat is a linux build. In fact, GNU stands for Gnu is Not Unix.
Know which flavor you will be working on. Solaris, AIX, HP-UX, SCO, and find the book on that. Get the real reference guide to the platform and what's available on it.
If you wanna know what Unix spec the companies try to conform to, check out the single unix spec (which is an extension of the POSIX standard)
http://www.opengroup.org/onlinepubs/007908799/
That's version 2, version 3 requires form filling. I worked as a Unix OS developer for a bit (on an obscure Unix) and we were trying to meet that standard. It's amazing what gets through though, reference platforms like Solaris 10 and AIX 5.3 claimed compliance in some things that did not exhibit it. It's all about marketing and claiming "we are" standard Unix.
Linux does not conform to the POSIX standards in all regards, nor do they intend to, for some valid reasons. Which is one more reason Linux != Unix.
Edit: Interesting projects? learn the utilities. Read the reference guide or man pages and look at example code. Copy the code and play with it until you "get" it. Master grep and learn awk, sed, find, sort, cat, echo, cron, and any other command you are interested in. Write scipts, play with code, and see how it all works.