Preparing a “Linux basics” course for next week, I find myself reusing material that I wrote in.. 1996!
Most of it is still perfectly valid today. Of course, command options might be slightly different on modern Linux systems, but it’s also something that I want to teach to my students: commands are often a bit different when you move between systems, you have to be prepared for that and use the man pages. Even rm -rf / behaves a bit differently today (or does it? I’ve gotta try ;-)
I put a lot of emphasis on the basic principles in this course: the role of an OS, scheduling, memory management, users and permissions, monitoring, transparency, etc. And I tend to be a bit fuzzy in the description of commands, on purpose, to prompt the students to find out the details themselves. It seems to work well.
The great thing about the unix family of OSes is the portability of knowledge: what you learn tends to have a very long lifetime. I started with unix in 1986 (remember the Momentum systems anyone?) and most of what I learned at that time is still valid and useful.
The week after, we’re going to move to shell programming. I’m still looking for good online resources for basic shell (bash) programming, let me know if you have field-tested suggestions. Just basic stuff – we’ll spend only one day on that.