15 Underrated Linux Commands You’ll Use Every Day
I’ve been using Linux for years, but I’m still surprised by how many useful commands are ignored. Some of them are time savers, and chances are, you’re not using them yet. Let me show you a few hidden gems that can help you work faster.
For example, commands like “watch”, “tldr”, and “at” are rarely used by beginners but are included by default on most Linux systems and can help monitor changes, show simplified man pages, and schedule tasks efficiently.
Want to learn more about these commands and many others? This article will show you new, useful commands that might become part of your everyday Linux routine.
If you need help with Linux, I’ve got something that can help you right away!
Download my free Linux commands cheat sheet – it’s a quick reference guide with all the essential commands you’ll need to get things done on your system. Click here to get it for free!
Pushd & Popd – Navigate Saved Directories Quickly
Usually, when you work on the terminal, moving between directories can be a hassle. So, instead of typing cd each time, you can save that time just using pushd and popd
pushd stores your current directory in a stack and moves you to a new one. Later, popd takes you back to the previous directory in that stack. Perfect for switching between folders without losing your place:
- Save directory:
pushd <directory> - Return to directory:
popd

To understand the Linux directory structure, check our explanation of the Raspberry Pi file system.
Tip: Command lines can be a pain to memorize. I put the essential Linux commands on a printable cheat sheet so you don't have to keep googling them. You can grab the PDF here if you want to save some time.
sudo !! – Run Your Last Command as Root
Have you ever typed a long command and forgot to add the sudo command at the beginning? Instead of rewriting it, you can use this lifesaver trick and save the hassle of typing.
The sudo !! Command repeats your last command, but runs it with root privileges. A simple way to save time and avoid retyping when you miss that sudo:sudo !!
Grab This Cheat Sheet!
I've compiled the must-know commands in a simple PDF for quick reference.
Download now

bat – a Better Alternative to cat
If you use cat often but wish it were more readable, especially for code or config files, you’ll love bat. It improves the experience with color-coded output and line numbers.
Members get an ad-free version of every guide, plus exclusive project support.
Join the Community | Sign In
bat is a replacement alternative to cat, but with extras like syntax highlighting, git integration, and side-by-side diffs. It’s perfect for viewing scripts and configs:batcat <file>

Note: If you get “command not found” for any of these examples, that means you just have to install the package. For example: sudo apt install bat
tac – Show the Output in Reverse
Let’s keep talking about cat. When analyzing logs or reviewing large files using cat, sometimes you want to start from the bottom instead of the top. That’s where tac comes in.
tac is like cat, but in reverse; it prints the contents of a file from the last line to the first. It’s perfect for quickly checking the most recent entries in log files:tac <file>

tldr – Simplified Man Pages
This is a fun and useful command, especially for users who like to try out new tools but don’t always have the time (or patience) to dig through long documentation.
As the name suggests, tldr stands for “Too Long; Didn’t Read” and simplifies common Linux commands with examples.
It’s like having a cheat sheet for every command. Just type tldr next to the command to search, and it will show practical examples instead of long, dry explanations:tldr <command>

jq – Process Your Output in JSON Format
Working with JSON files or API responses on Linux can be messy… unless you’re using jq. It’s a lightweight and powerful command-line JSON processor.
With jq, you can filter, format, and manipulate JSON data quickly. Ideal for working with APIs or log files in structured formats. To use it, you can include it in your output command using a pipeline like this:curl -s <website> | jq .
Grab This Cheat Sheet!
I've compiled the must-know commands in a simple PDF for quick reference.
Download now

comm – Compare Two Files
When you need to compare two sorted text files, comm is a simple but effective tool. Whether checking config changes or finding differences in datasets, this command comes in handy.
It displays lines unique to each file and lines common to both, split into three columns:comm <file1> <file2>

The output is divided into three columns: the first shows lines unique to the first file, the second shows lines unique to the second file, and the third shows lines common to both.
ncdu – An Advanced Way to Analyze Disk Info
Are you running out of space? Don’t know what’s taking up so much space? Well don’t get overcomplicated searching through all your OS, with ncdu you can save that hassle.
ncdu gives a clear breakdown of disk usage in a navigable form, making it easier to read than the du command, and can also help you quickly find large files to free up some space:ncdu <directory-to-scan>

Once you’ve identified the guilty
After finding the guilty one, you can follow our tips for freeing up disk space to clean up your system.
script – Record Your Terminal Session
If you need to document a process, record a tutorial, or troubleshoot, script can help you by saving your entire terminal session to a file.
Grab This Cheat Sheet!
I've compiled the must-know commands in a simple PDF for quick reference.
Download now
Script records all output generated during your session, which you can use for later reference to document troubleshooting steps or training or debugging.
You might also like: Looking for a fun challenge? Start building your first Raspberry Pi robot!
- Start recording:
script <file-name>.log - Stop recording:
exit

tee – Redirect Your Output to Two Ways
When running a command, sometimes you want to save the output and view it at the same time. That’s exactly what tee does.
Use tee to display output on the terminal and write it to a file at the same time, great for debugging or logging. If you’re using tee, you’ll be using it alongside pipelines, as in this example:ls -l | tee output.txt

This allows you to save the ls -l output to a file named output.txt, and at the same time, you can see the output on the screen.
fzf – A Fuzzy Search Tool
Searching through files, directories, or command history can be frustrating. fzf is an interactive fuzzy search tool that helps you find anything instantly.
fzf helps you to quickly search through your command history, files, or processes with an interactive interface. It’s faster than the grep command and works with many command-line tools:<command with output list> | fzf

at – Schedule One-Time Task to Run Later
Think of at as the sibling of cron, but for one-time tasks. You can use it to schedule a command to run at a specific time in the future, but just for that moment.
Perfect for things like auto-shutdowns or reminders, or even for delaying an update. Here’s how to use it:echo "<command>" | at <date/time>
You might also like: I've tested hundreds of Linux apps, here are the ones I recommend.

Of course, this isn’t the only way to schedule tasks. If you’re curious about other options, we’ve got you covered with our guide to cron for task scheduling.
column – Format Text Output Into Readable Columns
Grab This Cheat Sheet!
I've compiled the must-know commands in a simple PDF for quick reference.
Download now
When working with tabular data, you want to avoid dealing with messy output that makes it impossible to get readable output with aligned text, which is essential when working with logs, reports, and tables.
column formats data into aligned columns for easy reading, especially useful with scripts and system info. Just feed it with tabular data and it will format it cleanly:<command with output data> | column

As a result, this command neatly formats the /etc/passwd file into aligned columns, making it much easier to read. By using -s “:” to specify the delimiter and -t to format into a table
fold – Wrap Longs Lines From an Output
Sometimes you get command outputs that stretch beyond your screen width. Instead of scrolling sideways, use fold to wrap the lines neatly.
Great for log files or long configuration lines. You never know when it might come in handy:<command with output> | fold -w <width-value>

Prefer videos over reading? The RaspberryTips Community members get exclusive video lessons every month. Join now and watch them all right away. Get instant access.
watch – Automatically Refresh Command Output
Have you ever needed to monitor changes in real time, like network usage or disk space? watch lets you run a command repeatedly at fixed intervals.
This is useful for watching updates without retyping. Here’s a practical example:watch -n 2 ss -tunap

If you use the Linux terminal regularly, you might be interested in these other topics:
- 7 Ways to Make Your Linux Terminal Look Awesome
- 13 Linux Terminal Shortcuts You’ll Wish You Knew Earlier
- 9 “Modern” Linux Command Line Tools to Boost Productivity
- 50 Most Useful Linux Commands You Need To Know (Cheat Sheet)
Try some of these commands, and you’ll wonder how you ever lived without them! They’re simple, surprisingly useful, and can make your Linux experience smoother and more efficient.
Whenever you're ready, here are other ways I can help you:
Master Linux Commands: Overwhelmed with Linux commands? This book is your essential guide to mastering the terminal. It includes practical tips, real-world examples, and a bonus cheat sheet to keep by your side.
The RaspberryTips Community: Need help with Linux or want to chat with people who actually get it? Join the RaspberryTips Community and get access to private forums, exclusive lessons, and direct support.
You can also find all my recommendations for tools and hardware on this page.
