3 ms·
I would have suggested Linux HOWTOs (https://www.linuxdoc.org/HOWTO/HOWTO-INDEX/categories.html https://www.linuxdoc.org/HOWTO/HOWTO-INDEX/categories.html) but
by 0xbadcafebee 3y ago
I would have suggested Linux HOWTOs (https://www.linuxdoc.org/HOWTO/HOWTO-INDEX/categories.html https://www.linuxdoc.org/HOWTO/HOWTO-INDEX/categories.html) but they are ancient by this point. Really sad that as a community we abandoned HOWTOs for blog posts and StackOverflow. Some of the guides may still be relevant, and they might give you at least an idea of the general landscape.
I think you'll learn more faster by buying the cheapest, junkiest old PC you can (literally any PC will do, you can't find one too old) and plug that into your wifi router's ethernet ports. Set up the OS by following the guide for whatever distribution you want. If there's a problem, you have the keyboard, monitor, network, USB drives, etc to recover it.
Linux From Scratch is a great resource to start working with the underlying OS, understand how applications work, libraries work, compiling, and the files and components needed to start an OS. But you could also use something more polished like Debian or Slackware which are more hands-on.
To learn more about Linux commands, look up lists of Linux commands and then read their manual pages, cover to cover. If the manual doesn't make much sense, Googling it can give more context / examples. Definitely read the Bash manual (https://www.gnu.org/software/bash/manual/html_node/index.html https://www.gnu.org/software/bash/manual/html_node/index.htm...) cover to cover; it's very long, but you will be using it for the rest of your life [if working with non-Windows tech].
Once it's networked, set up whatever server software you want. Set up multiple computers, see what it's like to make them work together. Try to understand how the low level networking stuff works. Look up tools that let you troubleshoot networking.
Set up an Apache or Nginx web server, and some web application and database that uses them. You can play around with that for a long time. Try adding bugs to your software and look for tools to help you debug them [assuming you didn't have the source code]. After that point, there's a whole universe of server software for setting up large-scale computing.