I grew up on a Windows PC, so that’s how I learned to use a computer. I never thought of it as “the Windows way” of doing things—it was just the way you used a computer. So when I first switched to Linux, I tried to force my Windows habits onto it. That slowed me down and made some workflows feel frustratingly difficult.
Still, I liked Linux’s look and feel. Ubuntu 16.04 was my first distro, and I genuinely enjoyed the Unity desktop environment. So, instead of giving up, I decided to give it another shot—but this time, I focused on learning the Linux way of doing things. Eventually, I started using Linux the way it was designed to be used, and for the kinds of projects it excels at. That’s when everything clicked.
Now, If you’re someone who recently switched to Linux, and it feels inefficient, these three features might completely change how you think about it—and show you why Linux can be such a powerful productivity tool.
I finally learned Linux after 5 years of distro-hopping, and all it took was building a NAS
Building a NAS finally taught me Linux after 5 years of pointless distro-hopping
Chained commands and bash scripting
The terminal isn’t slower—you’re just using it wrong
With modern Linux distros, the terminal can seem practically optional. You’ve got intuitive graphical apps that cover most of your day-to-day computing needs. And for casual tasks like opening apps or copying files, graphical tools are often faster and more convenient than using the terminal.
But the terminal wins for a different reason: it lets you chain commands together—and that’s what unlocks serious automation. Since almost everything you’d want to do on Linux can be done from the terminal, it follows that almost everything can be automated too.
Take updates, for example. On Linux, you typically install software using package managers, and if you use multiple ones, each usually needs its own update command. A Linux beginner would run them one after another—sudo apt upgrade, then flatpak update, then brew upgrade if you use Homebrew, and so on. But a more seasoned user can just chain them together and the run the entire sequence in one go.
sudo apt update && sudo apt upgrade -y && flatpak update -y && brew update && brew upgrade && brew cleanup
Bash scripting takes this a step further. Instead of typing that same chained command every time you want to update your system, you can save it as a bash script—a simple text file containing a sequence of commands—and schedule it to run automatically at specific times. This way you system just updates on autopilot without you having to worry about it.
#!/bin/bash
echo "Updating APT packages..."
sudo apt update && sudo apt upgrade -y
echo "Updating Flatpaks..."
flatpak update -y
echo "Updating Homebrew packages..."
brew update && brew upgrade && brew cleanup
echo "System maintenance complete."
And updates are just one example. Anything you do repeatedly in a fixed sequence can usually be turned into a bash script, making it easier to automate parts of your workflow.
This one Bash script replaced half my desktop utilities
A handful of useful productivity tools wrapped up in a simple shell script.
You don’t need to be a programmer to use bash scripts. If you can clearly describe what you want to automate, tools like ChatGPT or Claude can generate a working script for you.
Dotfiles
How Linux users rebuild their entire setup in minutes
A dotfile is essentially any file on Linux whose name starts with a dot (.). By default, these files are hidden in graphical file managers because they’re not something you interact with during normal day-to-day use. They usually store configuration settings for your applications.
For example, if you use the Bash shell, much of its behavior is defined in a config file called .bashrc—which is a dotfile. Likewise, if you use Vim, its configuration is stored in .vimrc, another dotfile.
The real advantage of this system is portability. You can copy your dotfiles to another machine and instantly bring over your personal setup. In many cases, that means migrating years of customizations in just a few minutes.
That’s one reason Linux users can switch distros so easily—a habit called “distro-hopping.” Coming from Microsoft Windows, reinstalling an operating system might sound like a massive chore, since you’d have to rebuild and reconfigure everything from scratch. But on Linux, it’s often much simpler. Carry over your dotfiles, reinstall your apps—which can be done with a bashscript—and your new system can feel almost identical to the old one.
Dotfiles also make it easy to share configurations with others. If someone likes how you’ve customized your system—or even just a single app—you can often just send them the relevant dotfile. It makes sharing setups faster, cleaner, and far more consistent.
App window management
Virtual desktops and tiling window managers make Linux a heaven for multitaskers
If your workflow involves juggling multiple apps at once, Linux’s window management can be a major productivity boost. For starters, there are virtual desktops, which let you create separate workspaces and organize each one with its own set of app windows. It’s one of the simplest ways to keep a busy workflow under control.
For example, I keep one virtual desktop dedicated to writing, with just a browser and a document editor open. Another holds messaging apps like Discord and Slack. Another is reserved for Spotify. And one more is where I keep the terminal, virtual machines, and whatever I’m currently testing. Better yet, I can configure specific apps to always open on specific workspaces.
Microsoft Windows has virtual desktops too, starting with Windows 10, but they’re nowhere near as configurable or as tightly integrated into the overall desktop experience. On Linux, beyond the standard workspace overview, many desktop environments let you visualize all your virtual desktops directly on the panel—the Linux equivalent of the Windows taskbar—and move apps between them with a few clicks.
Linux also offers much better window tiling than what you get in Windows 11 or using Microsoft PowerToys. If you’re unfamiliar with tiling, it’s a system that arranges windows so they don’t overlap, keeping everything visible at once instead of burying one app behind another.
The exact window tiling experience depends on your desktop environment. KDE Plasma has built-in tiling, while GNOME relies on extensions. Or, if you want maximum control, you can skip the desktop environment entirely and use a dedicated tiling window manager. Either way, it’s a far more flexible setup than what Windows currently offers.
These 5 Ubuntu Extensions Made Me a God of Multi-Window Workflows
Get your windows under control with these Ubuntu extensions!
A hammer will feel useless if you try to use it like a wrench
Right now, there’s a huge wave of Windows users moving to Linux, with many treating it as a direct alternative to Microsoft Windows. But once they switch, a lot of them end up disappointed—not because Linux is bad, but because it doesn’t recreate the Windows workflow they’re used to.
That’s where you get the infamous criticism: Linux is free in terms of money, but expensive in terms of time.
However, I think that’s an unfair way to judge it. You wouldn’t evaluate a Mac based on how closely it behaves like Windows—you expect it to behave like a Mac. The same logic applies to Linux. It makes more sense to use Linux on its own terms, in the kinds of workflows it was actually designed for. Once you do that, the productivity advantages become much harder to ignore.
8/10
- Operating System
-
Kubuntu 24.04 LTS
- CPU
-
Intel Core Ultra 9 275HX (2.7GHz up to 5.4GHz)
This laptop is purpose-built for developers and professionals who want a Kubuntu Linux-powered portable workstation and gaming platform. It features an Intel processor capable of hitting 5.4GHz and both integrated graphics and a dedicated NVIDIA 5070 Ti GPU for when you need extra power for machine learning or games.






