Learning computer/OS for kids, that teaches command line?
My nephews & nieces aren't currently allowed much computer access because their parents worry about screen time, inappropriate content and the like. But their mother was sharing concerns with me that they won't have the basic computer skills and understanding that we learned growing up in the 80s and 90s. Having to make computers work before you got your reward of a game was such a big motivation for me as a child. We learned to program in BASIC on spectrums and Amstrads (typing code for a game out of a magazine didn't require much knowledge but taught me a lot) and about memory management by fiddling around with AUTOEXEC.BAT/CONFIG.SYS to get DOS games running, and so on.
Are there any good educational computers / distros / OSes? Searching online mostly shows simplified GUI to access educational "games". But I was wondering if there was a Raspberry PI or linux fork or something, that was geared to create a challenging but supportive environment for learning the fundamentals.
I agree with this but with the caveat that you both point them in the direction of some educational resources and also offer support. Otherwise they'll just think they're being trolled
The PI is always a good place to start, but they're not cheap anymore. You can still do some useful things at the command line (not sure how fun, but a great education), python is there and very accessible. - get a camera and you could do some great things with open CV. Not sure what packages are out there though. Think you'd just have to follow some web tutorials.
As an alternative, have you considered an Arduino kit? Lots of great projects, all very well documented. Playing with LEDs, sensors, motors etc may keep their attention longer than a bash prompt.
Have you thought about a distro like Arch or Slackware? Or even a BSD like OpenBSD? My 2nd cousin got me into Unix-like operating systems through Slackware and OpenBSD. In 1998, he bought me a used Pentium 133mh for my birthday. From there I learned the command line by learning how to install, configure, and use these operating sysytems.
Setting up an old PC with linux and just not installing a GUI as already suggested might be a fun project to do together and exploring various command line programs (maybe ncurses based programs like mc, ncdu, etc.) and I just read about a cute text adventure called bashcrawl which teaches unix commands as you play ("cd" into a room, "ls" to show the items there, etc.). There are so many bash programs (and games) like gnugo and chess that are interactive but without a GUI. Here was where I read about bashcrawl (I haven't tried this myself):
https://opensource.com/article/19/10/learn-bash-command-line-games
Shortcuts in iOS is a great way to introduce kids to programming. Obviously you would have to put together some "exercises" or gather outputs for them to brainstorm that they would like the phone be able to do automatically etc.
Its colorful and immediate feedback and doesn't really require "coding" skills or syntax but still requires them to think algorithmically and naturally debug and understand control flow.
Nobody will learn the command line without reading the docs
I did.
Some people prefer a more hands-on approach - like me.
Not that I'm averse to reading or anything, but I learn best by actually getting my hands dirty - especially if it involves computers. When I first learnt DOS, it was because I wanted to play games like Prince of Persia, Dangerous Dave and Alley Cat, so I watched my older cousin type various commands and observed the effects. When he wasn't around, I'd sneakily boot up his PC and figured out that instead of typing CD PRINCE, I could type CD CAT, followed by CAT.EXE to play Alley Cat. A bit of trial and error over the years and I mastered the basics of DOS. It wasn't until 5 or 6 years later and that I got my hands on "DOS for Dummies", and filled in the gaps in my knowledge. Three decades later, I still haven't managed to beat Dangerous Dave, but hey, at least I mastered DOS.
With Linux, again, I learnt it by practice, mostly thanks to a free Red Hat 5.0 CD bundled with a computer magazine. Red Hat got me curious, but it was SuSE that blew me away with how polished and professional it was, compared to the clunky Win9x. Long story short, after decades of distro hopping, I finally settled down on Arch, but by that time I'd already figured out how most of the nuts and bolts fit, but the Arch wiki certainly helped fill in the gaps.
Like how necessity is the mother of invention, there needs to be a motivation factor for people to learn something new. In saying that, I wouldn't know how you'd motivate say a Gen Z person to pick up appreciate the CLI, unless they were already technically inclined, have a curious nature and a passion for learning new things.