It wasn't until I used Linux professionally that I started to really respect (and enjoy) using the environment. And even then it wasn't until I saw another human using it efficiently. It's one thing to read about how useful it is, it's another thing to struggle with a problem and have someone show you how you could solve your exact problem.
Once I had that connection with another human/mentor, seeing my specific problem solved, that's what hooked me. I don't think I could have gotten there with toy/educational examples online/in books.
For programming, the available documentation is not just ludo-educational, it's also the official references, like the RFCs and specifications. There is literally no better source of knowledge for computer science. I haven't delved into technical specs very often in my life, but I have at times and I bet most good programmers do it often.
That's an interesting example. Sure, I was initiated to the Unix command line at the University, but it was just that : an initiation. I got hooked quickly though so I was driven to learn the rest all by myself (or rather, with the help of the linux community online). I'm sure it's more or less the same for most linux nerds. I may have bought one or two books about linux though, but buying a book about a subject you're passionate about is something normal.
You're right that once you want to get into the important technical details, free documentation on the web may be insufficient and you may need to invest in proper textbooks. I still think my point stands, though.