"Linux Essentials" eLearning Course

FULL DISCLOSURE: As I write I'm not quite finished: I've done everything in the course except the "Final Exam" and the "Final Comprehensive Exam." And I work for Toronto Public Library.

Toronto Public Library has partnered with Cisco's Network Academy to provide their "Linux Essentials" course (TPL and Cisco). This course can be done online for free, or instructor-led - at a cost - at various places: TPL has opted to offer the instructor-led course for free. Given that it's classified as a "70 hour course," an instructor and regular classes seems like a better way to get through it than "online self-paced" (what Cisco offers). I've known one of the current instructors for many years, and she's asked me to do a presentation on, shall we say, practical use of the shell. I've been using Linux since 1995 (truly), but I've never taken a course on the subject. I've read books and online materials the whole time, but self-education always presents gaps. You research most deeply the things you're interested in, and sometimes you skip stuff you dislike ... sometimes unintentionally, sometimes knowing that you should understand the topic better. In an effort to be prepared to teach this class, I started working my way through the tests and labs for the course. Around module 15 (out of 18) I started learning stuff, filling in gaps in my knowledge.

When you're working through the "Labs," you're given a web page that's split between the text explaining what you should try at the Linux command line, and a console into a Linux virtual machine. The Linux machine they provide runs a fairly minimal Ubuntu 18.04 implementation. It's slow to boot, and slow to respond at peak times (middle of the afternoon seems to be the worst), but it's not too bad, and honestly I'm impressed by what they've managed to provide. It's a complete virtual machine: no networking, but you have both a user account and a root account, and access to all the standard and administrative commands you need to learn to properly run a Linux machine. I could say "you're better off installing Linux yourself," which is partly true ... but this allows you a playground where you can mess the VM up completely and not care - which is great for experimentation and learning.

Nothing can replace real experience, but you've got to start somewhere - and this is a good place to start.