3 ms·
Note: This is more of a long-term-understanding answer than a quick-tutorial answer. If he wants to understand Unix, The Unix Programming Environment by Kernig
by silentbicycle 18y ago
Note: This is more of a long-term-understanding answer than a quick-tutorial answer.
If he wants to understand Unix, The Unix Programming Environment by Kernighan and Pike is good (as parenthesis also noted). Also, say what you will about ESR, his The Art of Unix Programming (http://www.faqs.org/docs/artu/ http://www.faqs.org/docs/artu/) explains the rationale behind most of the design ideas common in Unix, as well as various historical accidents that have influenced it. (It more about Unix's design/culture than programming, IMHO.) Plus, free online.
In particular, Unix will probably seem really awkward and limited until he really deeply gets the idea of doing things by composing relatively simple programs. There are a few other idioms fundamental to Unix, but that's probably the big one. (That would probably be easier if he had experience with Haskell, incidentally; Unix pipe IO can be very similar to monads.)
A general (perhaps very general) understanding of C will also go a long way, particularly with understanding the mindset behind the man pages.