ogeday çelik/Getty ZDNET's key takeaways There are certain Linux commands I consider essential. These commands range from networking, troubleshooting, and file viewing. They're also easy enough for new users to learn. Even though I've been using Linux for decades and am perfectly at home with the command line, I often tell those who are thinking about trying the open-source operating system that it isn't necessary. It's not. Truly. If I wanted to, I could give up the command line altogether. Of course, I'd have to find GUI apps to replace some of the commands I use, but it can be done. Also: Do you need antivirus on Linux? Which commands would I have to replace? Well, those are the commands that I would have a hard time doing without. If you're curious as to what those commands are (because maybe you want to know them yourself), keep reading. 1. SSH Without so much as a hesitation, this command came to mind first. Why? I regularly have to SSH into remote systems to take care of certain things. Yes, I realize that means I'm still using commands (on the remote machine), so my argument that you can go without touching the terminal kind of ends there. But those are special cases that new Linux users won't have to worry about (i.e., administering a remote server). SSH is one of those commands I use every day, throughout the day. Without SSH, there are certain situations that wouldn't be possible, so this command is an absolute must and tops my list of those I can't live without. Also: The best Linux distros for beginners in 2025 make switching from MacOS or Windows so easy 2. chmod I write bash scripts to automate tasks and do other things. After writing a script, one of the first things I do is give it executable permission with the help of chmod. With the command chmod u+x filename, I can then run that command with ./filename. I can even move that script to /usr/local/bin and run it from anywhere (and without the ./). Yes, I can do the same thing with some file managers, but giving those bash scripts executable permissions is easier from the command line. Of course, chmod isn't limited to just giving a file executable permissions. You can also manage the read and write permissions of files, which is very handy (especially when you're on a machine where multiple users log in). 3. kill/killall I don't like having to invoke the kill or killall commands, but when an application has gone rogue, it's a must. When an application doesn't respond, it's usually accompanied by it gobbling up system resources. Should that application consume all of your remaining CPU/RAM, your system could become unresponsive, which could lead to a hard reboot, or you having to take steps to prevent such an act. Before that happens, I'll use either the kill or killall command to avoid such a situation. I'm not saying I use these two tools every day, but when something goes awry with an app, these two commands are essential in reclaiming control over my computer. Also: 8 ways I quickly leveled up my Linux skills - and you can too 4. dmesg This is another command I consider a must when things go astray. Dmesg displays kernel-related messages that are retrieved from the kernel ring buffer. The information it gives makes it possible to troubleshoot hardware-related errors. This command is the first place I turn when I believe a piece of hardware is failing or having problems, as it keeps tabs on system errors, device errors, and information about connected USB devices. You're not going to solve software-related issues with dmesg, but when it comes to hardware, dmesg is hard to beat. Do keep in mind that the dmesg command does require admin privileges to run, so use it with sudo. 5. grep When I need to view the contents of a file and search for a string of characters, I always turn to grep. With grep, I can easily find whatever I'm looking for in configuration files or any other type of text file. This is especially handy when a file is long enough that manually searching for a text string would be a chore. With grep, I can find that string (or every instance of that string) quickly. The grep command is one of those that you might not use every day, but you'll be very glad it's there when it comes time to use it. I grep files all the time, and you should too. Also: The first 5 Linux commands every new user should learn 6. ping When I'm having a networking issue with a Linux computer, the first thing I turn to is ping. Not only can I check to make sure my network connection is still working, but I can also check ping times. If ping times are too high, something could be wrong with DNS or my gateway. If I ping a computer on my LAN and the ping times are normal, then I can rule out hardware problems on my computer and focus on DNS. I can then change my DNS servers, do another ping test, and see if that helps. And because ping is easy to use (aka ping google.com), you don't have to worry about learning complex commands or using all sorts of fancy options. Sometimes, if I'm troubleshooting a network connection (especially a bottleneck), I'll leave the ping command running as I work to fix the issue. When the ping returns (or the ping times return to normal), I've most likely solved the issue.