Quote:
Originally posted by BenChase
I find that the best way I learn is to be presented with challenges that get more and more difficult as I progress.
|
Maybe the answer, though this one is not free, is to buy a good book on Unix; I say a book on Unix because most of them are of higher quality than books on Linux. You can learn a lot from "Unix Power Tools" (not to be confused with a completely different book, "Linux Programming Tools"), for example, though it isn't a series of challenges as it is a very non-linear book.
A more linear approach would be "The Unix Programming Environment", which will teach you Bourne shell scripting, programming in C, and writing documentation in nroff, from easy to more difficult. Parts are a bit outdated, but on the whole the book is useful and Kernighan and Pike were among the original inventors of Unix and C.