Hey everyone, I'm relatively new to linux and was looking for some advice/direction. I have been using Mint Debian Edition for around 6mo or so, and want to learn to use the command line efficiently and proficiently.
I have set up EndeavourOS on a backup laptop I have and have been playing with it, reading the Arch Wiki and such, but I feel like I'm not necessarily learning why I'm doing things, just doing what has worked for others.
So here I am. I guess I'm looking for recommendations for books or articles (physical or online) that can help me to learn and understand the workings on linux, and especially the command line.
Thank you all so much.
I’ve seen this one recommended in the past. I think it’s great for beginners yet still full of useful information.
https://linuxjourney.com/
Linux is a tool. And I find that the best way to learn handling a new tool is making a project with it.
A book is (maybe) fine, but a project will help you use your knoweldge while you gain it.
So set up a Lemmy/Minetest/Matrix/Teamspeak server or write a bash script to change your audio output device/volume or program a simple bot in your favorite programming language or mix some music or gather a bunch of PDFs and search through them and concatenate them
And while you do that and create directories, change permissions, move files, create users or "cat" or "grep" or "sed" stuff, find out, what every single line you write in a terminal does. And instead of using a graphical program to move files, shutdown your PC or update all programs, only use the command line.
This will help you in the long run.
I think you need like a project that will give you a goal and things to look up to do specific things. What got me into Linux was running a minecraft realm, then we hit limitations on the service so opted for a server instead which lead down the road to a VPS and had me using Linux and commands
My first recommendation is to become familiar with one flavour of Linux. Debian is a solid choice and it will give you a good understanding of how a great many derivatives operate.
The command line is a tool to get things done, it's not an end to itself. Some things are easier to do with a GUI, many things are easier to do with the command line interface or CLI.
Many Linux tools are tiny things that take an input, process it and produce an output. You can string these commands together to achieve things that are complex with a GUI.
Manipulation of text is a big part of this. Converting things, extracting or filtering data, counting words
For example, how many times do you use the words "just" and "simply" in the articles you write?
grep -oiwE "just|simple" *.txt | sort | uniq -c
That checks all the text files in a directory for the occurrence of either word and shows you how many occurred and what capitalisation they used.
In other words, learning to use the CLI is about solving problems, one by one, until you don't have to look things up before you understand why or how it works.
One of the biggest things that helped me was setting up virtual machines and installing different versions of Linux in them and just playing around. I found it super helpful because it makes you learn different things (for example you mentioned reading the Arch wiki which is a good resource, but not all of it will apply to Mint necessarily) and as an added bonus, it doesn't matter if you break everything. You can just restore a backup, or better yet, reinstall from scratch so you get used to the process or better yet, keep breaking stuff until you come out the other side and get things working again!