The Linux command line is a powerful tool that scares many casual users. But there are ample reasons for people to fall in love with the terminal.
Many people are afraid of the command line. They see it as the realm of software developers or computer geeks. But the command line is merely a different way of interacting with your PC, and there are some tasks so easy to do with a CLI that you will be glad you got over your fear.
Yes, you. Even if you need to call a family member for help with app installations, you can still use the command line without breaking your machine. Even if you're getting by just fine with your PC already, here are some reasons to consider learning a few commands regardless.
Many people who learn how to use the Linux terminal to install apps or download updates quickly stop using Linux app stores. That's because the command line enables you to install a program in the time it takes a program like GNOME Software to finish loading.
Why? The command line doesn't do anything extra. You don't have to download extra images to browse through a list of apps. You don't need to load up a graphical interface, with panels and buttons. After you type a command, you near immediately begin the download.
This speed advantage hardly applies only to installing software. You can copy and paste entire folder directories without having to open your file manager.
No waiting for an app to open. No navigating between folders and highlighting which ones to copy. No waiting for loading bars. Just type a command, press Enter, and watch the magic happen. Yes, magic. Computer magic.
Okay, it's not actually magic. Magic comes with an air of mystery. You see what happens, but you don't know why or how. In that sense, the command line is the opposite of magic, because, unlike most graphical apps, the terminal often tells you exactly what it's doing.
When you're performing those system updates, you don't have to stare at a progress bar or spinner and wonder why things seem to have come to a halt.
If the terminal is checking system repositories, it will tell you. If it's in the process of downloading, it will tell you (along with the amount of data you're downloading and at what speed). If an error happens, it will also let you know.
Say you want to manipulate hundreds or thousands of files at once. That sounds like a bunch, but it doesn't take long to capture that many photos or download that many MP3s.
Now you find yourself wanting to edit the metadata, but the prospect of doing it one at a time is ghoulish. This is a job well-suited to the terminal, where there's a good chance you can manipulate all the files at one time. Say you want to batch rename all the files or change the way they are organized within folders. That sort of thing.
The command line is also great for tasks that you do over and over again. Maybe you want to back up files from your home directory, excluding certain folders, to a hard drive you've just plugged in. There are graphical apps you can use for the job. Or you can perform the task once in a terminal and save the command. In the future, you can simply copy and paste.
The command line also opens the door to automation and scripting. You can write a shell script (essentially a text file filled with commands) that performs the task automatically on a recurring basis. Then you save yourself the effort of having to copy and paste each time.
The amount of information a terminal provides makes it easier to file bug reports. Telling a developer that an app froze while downloading updates is only partially useful information.
The developer knows there is an issue, but unless they can replicate the bug, they don't know what to fix. But an error in the command line tells them specifically what happened. Sure, they may not know the "why," but at least they've saved a bunch of time establishing the "what."
With that same information, you can possibly take matters into your own hands. Yes, tinkering with your computer can be scary, especially for newcomers, but the situation is a little less so when your computer has told you precisely what went wrong. Sometimes the fix is relatively minor.
Growing more comfortable with the command line increases the likelihood you can fix your own machine. If you turn your computer on one day only to be greeted by a blank screen, you may still be able to log in to a terminal. Then after checking the right forum or website, you may come across instructions to guide you through the process of making your PC whole again.
It's a satisfying feeling when you spare yourself hours on the phone trying to get remote help from a family member or a trip to the repair shop.
Remote services have changed the way many of us use our devices. When your data is saved online, you can easily access the same information from multiple devices. But this approach tends to cost money, comes with privacy risks, and opens you up to data breaches.
Fortunately, many free and open-source alternatives have cropped up, making it easier to run your own server and host your own files on a device as cheap as a Raspberry Pi. You can stream videos to any of your devices, or set up a kanban board for members of your family to utilize.
The thing is, many of these DIY alternatives require a degree of command-line knowledge to get up and running the first time. So if the command line makes you squeamish, you may find yourself having to do without them.
Learning the command line helps you do more, faster, and with greater understanding. You can become a tinkerer, configuring devices of all sizes. If you want, you can pivot command-line knowledge into a career. You can become a system administrator, software developer, or web designer.
On the other hand, you don't need to do any of that. After learning the command line, you can stick with using all the graphical apps you already know. But if anything goes wrong, you can rest easier knowing there's a decent chance you've got the situation handled.
Bertel is a digital minimalist who works from a tiny StarLite MK IV and carries a de-Googled Android phone. He delights in helping others decide which tech to bring into their lives… and which tech to do without.