I'm new to Linux, although I'm comfortable with basic terminal commands such as cp, ls, cd, and mv. I'd like to go beyond the fundamentals and understand Linux and Bash scripting in much greater depth. I'm already reading a book about how Linux works, and I'd appreciate recommendations for courses, guides, or practical ways to study Bash and system administration.
5 Answers
The Bash Beginner’s Guide from The Linux Documentation Project is a solid starting point. Learn the basics, then reinforce them by writing small scripts that automate tasks you actually care about.
For broader Linux administration, work through a structured challenge or course and practice on your own machine. Explore commands and services such as systemctl, ip, networkctl, kill, and pkill. Projects involving networking, boot configuration, graphics drivers, or customizing your desktop will teach you a lot because they require troubleshooting rather than just memorizing commands.
Learn X in Y Minutes has a concise Bash overview, and tools such as tldr can make command documentation easier to understand. On Debian-based systems, you can install it with `sudo apt install tealdeer`, update its pages with `tldr --update`, and then use commands like `tldr systemctl` for examples.
Learn by choosing a practical project and building it entirely with Bash. You’ll naturally run into variables, conditionals, loops, functions, pipes, redirection, and text-processing tools. A project that feels useful is usually more effective than reading syntax without applying it.
Interactive environments such as pwn.college can provide guided Linux practice. Using an SSH connection to a personal or local machine can also help you build habits without relying entirely on a hosted environment.

I’m currently using Arch with i3 and learning how to customize it. I’ve already learned a lot about partitioning and booting from documentation and videos. Is there a particularly good resource for learning systemctl and related administration tools?