So, I installed Linux Mint not too long ago, and while I’ve been able to do what I want to do without touching the Terminal, I am a bit curious how it works, and whether it could help me.
In particular, I am slowly getting into programming, and I’ve heard some people talk about strange, otherworldly things, like Vim, and Shell Scripts.
There was this PDF I downloaded called “The Linux Command Line” by William Shotts, but it is 570 pages long, and glancing through it, it seems to go into many different things, and I am afraid I’ll end up learning a hundred things while only ever using ten of them, if you get my meaning.
So yeah, anyone who has some tips, or resources for a Linux newbie, please let me know.


Maybe a short introduction what the terminal actually is. Programs are a bunch of code that runs on your computer. With many of that programs you as the user want to interact with. The point of contact between the program and you (and actually other programs) is called an interface. Some programs have a graphical interface (GUI - graphical user interface). Other programs have a Comand line interface (CLI). Writing a CLI is a lot easier than a GUI and it works on a lot more different systems. So many programs chose to only have a CLI while some only have a GUI and some have both. The terminal is your way to access those CLIs. And some problems are a lot easier to solve with a CLI than with a GUI. Maybe a function in a GUI is in a few menues deep so you need to click a lot to get there, and then use a slider to set a value, then click accept, etc. In a CLI, it is just one word you have to type. Especially in Linux a lot of developers are not designers so they write programs with good CLIs but bad (or none) GUIs. Especially when it comes to system settings sometimes there is no GUI to achieve what you need. So when you open the terminal, don’t think that you are diving in to a whole new magic world, but just that you are taking a different route to talk to the same programs that you were using already, and some new ones that you didn’t knew before.
Maybe just to take some of the mystique away, take a program you are used to (maybe Firefox?) and call that from the CLI. Type “firefox --help” and see the options that you have available there and compare them to what you know from the GUI. Most things will be in both but maybe some are very well hidden in the GUI.
After that it is just getting used to the utilities that you have for the terminal, all the little programs like “cd, ls, pwd, cp, mv”, etc… They are just programs that do things you are used to do with your mouse in the file explorer. Just the CLI analog to “select, right click, copy, paste”. Since CLIs are text based you also have a lot of utilities to handle text like grep, sed, cut, tr, they just do what you were doing in a text editor.