I have been using Linux as my daily driver for quite some time (around 5-6 years) and usually manage to get whatever needs to be done. However, I now wish to learn it in a more structured manner, which includes understanding utilities and the workings of Linux. What resources should I look out for?
If you’re a near absolute beginner then Linux Journey is a good place to start.
If by chance you understand German this is an excellent beginner course: https://www.math.uni-bielefeld.de/~frettloe/teach/unix20.html otherwise I would grab a book; but I have no specific book to recommend. However, to name some I found interesting after a quick search:
- How Linux Works: What Every Super-User Should Know
- The Linux Command Line
Danke dir
I would look for something interactive e.g LFS but in containers (or VM or WASM VM) with checkpoints with instructions, something risk free yet hands on.
Not for books.
I agree, nothing made this stick better to me and help me understand networking more than building my own homelab and configuring a bunch of different services together.
deleted by creator
I would agree, and IMO the most important aspect that makes arch good for learning is the amazing wiki
https://doc.opensuse.org/documentation/leap/startup/book-startup_en.pdf
The best pdf imo
https://fr.linuxfromscratch.org/view/lfs-stable/
To know what the standard packages do
The book that got me started was “friheden til at vælge Linux” (Freedom to choose Linux), at the time it was available in other languages, but I can only find the Danish version online:
https://linuxbog.dk/ (last updated in 2020)When I started my LPIC I bought the “LPIC-1 in depth”., it’s a bit dry but very thorough.
https://www.linuxfromscratch.org/
here’s latest generated document
https://www.linuxfromscratch.org/lfs/downloads/development/LFS-BOOK-r12.3-98-NOCHUNKS.htmlYou are probably approaching this from the wrong angle. Linux, and computers in general, are tools. Figure out what you want to use it for, and then do it. One example would be to build a homelab with jellyfin and nextcloud.
On the path to that goal, you’ll find problems and tasks for which there exists very nice structured resources. For example, you might want some security, a perfect opportunity to read a book on networking and firewalls.
I disagree. Sometime, a structured approach allows to discover things you don’t even know exist
Structured approach to what? You don’t take a structured approach to a hammer, you use it as a tool to accomplish something.
”The Linux Programming Interface” is an excellent book, if you are interested in interacting with the Linux kernel directly, but somehow I doubt that’s what OP wants to do. I doubt OP knows what he wants to do.
Besides, please note that I did encourage taking a structured approach to stuff discovered on the way. But taking a structured approach to ”Linux” is just a bad idea, it’s far to broad of a topic.
Edit: RedHat has their certification programs. These are certainly structured. You’ll get to know RedHat and the RedHat^{TM} certified way of doing things. That’s probably the closest thing to what OP wants. You even get a paper at the end if you pay up. This is not the most efficient way to get proficient.
Structured approach for hammer would be probably learning when not to use hammer I guess?
This is a perfect valid approach though ! My first few years in self-hosting I learned soooo many things: CLI, Shell, scripting, networking, containers…
Doing my own AV1 encodes I learned alot about audio/video processing, metadata, ffmpeg, av1an…
Maybe not as structured as OP asked for, but there’s way to much to learn in the OS world that a whole life is not sufficient to have it all ! However, following that said goal, you will learn alot arround other stuff and improve overall.
If your goal is to learn the Linux system and all the nitty gritty arround it, good luck :/ it takes more than 1 person to make an OS work, so understanding all the bells and whistle is just crazy IMO !
Honestly, this is the best way to learn almost anything: Start a project. When you don’t know how to do something, look it up. Repeat until you die.
Highly recommend this wargame challenge from over the wire. It makes you think and also feels like hacking. Youre just using linux commands to find passwords but the skills transfer to heaps of usage across systems. It can be a little beginner-ish though.
When I switched to webdev, I dropped $20 on a system admin Linux course on Udemy. I highly recommended this approach.
There is a great cheat sheet made by Ubuntu.
I’d look into used textbooks.
https://www.lpi.org/our-certifications/lpic-1-overview/
Free PDFs, touches on the topics and actually shows you the commands, gives you exercises + further info. It will never be an end-all-be-all but it’s a start if you’re looking to learn something. It really all depends on what you’re trying to get out of it I figure. If you’re trying to be a sysadmin, then everybody else will have a different answer.