Have you recently switched to Linux? Or are you one of the hardcore, anti-terminal users? I’ve seen plenty of loathing for the terminal these past few years, but I think it comes from a place of misunderstanding. New users view it as an insurmountable mountain of commands, but it’s far simpler than that. If you’re keen on moving forward, I have four key steps to guide you.
The benefits of learning the terminal
I’ve written a previous piece that covers these, but in short, it’s faster, leaner, and more direct.
It may not be apparent to beginners, but once you get up to speed, writing out a few words is much quicker than navigating a graphical interface, especially when you include the many powerful tools available to us, like shell completions and a fuzzy command history search. Often, when executing a command, I spend two seconds searching for it. Shortcuts are probably the closest comparison, but you can’t create shortcuts for everything.
Using the terminal means nothing gets in your way. It’s consistent, and I don’t forget where things are.
Start with package managers
I remember one of the first times I used the terminal. I was trying to update my Ubuntu system when a light bulb turned on in my head. Out of curiosity, I wondered: how could I do this via the command line? It made perfect sense to me. Opening the Synaptic Package Manager regularly to check for updates felt wasteful, and I’ve always had a bloat-free mentality, so I Googled it. It ended up being rather simple, and I was happy using my new toy like that for a few weeks.
Over time, I explored different options for APT (package manager), learned what the cache was, and what the sudo command did. Bit by bit, I inched into competence through trial and error; no memorization required.
That’s often the best way to learn: through practical experience, with guiding research when your curiosity is piqued. For smaller projects (like the terminal), extensive notes are a waste of time, and diving into them yields the most substantial results.
Start like I did, with the package manager, and see where it goes after that. No doubt you will learn the cd, ls, and rm commands shortly after. You’re on your way now.
Edit configuration files
Editing files in the terminal is the next step. It moves away from the command line and into terminal application territory. There are many applications out there (nano, Vim, lazygit, btop++), and some take minutes to learn (nano), while others are difficult, with mastery being an ongoing process (Vim), so choose wisely, or risk becoming demoralized.
Whether you’re on Windows or Linux, configuring your system is unavoidable. It’s just a matter of how you choose to do it. With gedit or nano? What’s the difference between these two? Nothing really, except Gnome requires hundreds of dependencies, including a graphical environment. If you intend to follow through on my suggestions, a lightweight text editor (nano) to change configuration files is mandatory, especially when installing a minimalist distro (next section).
Configuration files are nothing fancy. Most are easy to understand with a little common sense. Once you know how to gather information from man pages, changing them is about as difficult as buying groceries. Using nano to edit them makes the process even easier. Try it:
nano /tmp/foo
Type something, and when you’re finished, read the command bar across the bottom. It clearly says “^O Write Out” (Ctrl+O) and “^X Exit” (Ctrl+X).
What about the configuration files themselves? How tough are they? Well, let’s look at sysctl.conf, which sets kernel parameters. The closest thing on Windows is probably the registry:
Can you work out how to set these values? It’s easy at a glance. The hard part is learning what the options do, but that’s no easier in gedit.
Let’s look at dnf.conf, which is the configuration file for my package manager (DNF on Fedora):
Can you figure out what these options do just by reading them? What about setting them? Also, notice the “[main]” section header? This is a classic (and simple) configuration format called INI, and it’s easier to learn than making a cup of coffee. Further, if you wanted to understand what DNF options to set, you’d look at its manual (man dnf5.conf).
Install a minimalist system
Installing a minimalist system (no GUI) yielded the most value for me. It took me from a beginner to an intermediate user in a few months, paving the way to more confidence and much more advanced uses of Linux.
You don’t need to install it on your desktop computer—a virtual machine using VirtualBox works just as well. Doing it that way allows you to create and use snapshots and easily roll back changes after making mistakes.
If you don’t have the resources to run a virtual machine, or you want to try it on bare metal (real hardware), use an old computer or laptop. Installing Linux this way is not exactly the same as a virtual machine, so it gives you real-world practice.
You should also make your installation a useful project, like a NAS (network attached storage), a media center, a router, a NIDS (network intrusion detection system), or something else. Linux is flexible, and having a goal will motivate you to keep pushing.
Choosing a distro is another consideration. I chose Arch Linux out of curiosity, but I’ve also used Ubuntu Server and Debian, with the latter two being great beginner distros for this purpose because they’re not too troublesome to get working. You may have some issues with brand-new hardware, but older hardware or virtual machines work perfectly.
Write small scripts
Once you’ve been using a distro on bare metal for a while, you’ll probably want to customize your installation. Perhaps you created a NAS, and you’d like to run a backup script periodically. Perhaps you have a media center, and you need to automate certain tasks. Whatever it is, Bash can help you. Writing small, simple scripts that solve one focused problem is how to start. A clear goal, again, is what keeps you going.
At this point, you’re no longer a terminal beginner. When you venture into Bash scripting, you’re becoming a power user. Soon there will be few things you cannot do with Linux.
9 easy Linux terminal commands that make you faster right away
The terminal isn’t a black box. These beginner commands help you navigate, find files, manage apps, and undo mistakes with confidence.
The terminal isn’t for elitists; it’s the default mode to operate Linux. It has remained popular because of its power and convenience. However, those deeply ingrained in the Windows mindset initially find it difficult to change their ways (I did). They look at the black box and think it takes a lifetime of practice, but it doesn’t. Terminals are designed for humans; they use words, and we all do that.
These four steps will hopefully give you a clear overview and general goals to aim for.
These fzf tricks will transform how you use the Linux terminal
I can’t live without fzf, and you’re missing out big time if you’re not using it.


