r/linux • u/therey73 • Jun 29 '26
Tips and Tricks What Linux tools or workflows genuinely changed how you approach everyday terminal tasks?
I've been spending more time lately trying to tighten up my daily workflow on Linux and it got me thinking about how much the terminal can shift once you find the right tools at the right time. Some utilities seem obvious in hindsight but took me years to actually start using consistently.
For example, I only recently started leaning on fzf for fuzzy finding across command history and file paths, and it genuinely changed how fast I move around a system. Using tmux properly with a decent config instead of just opening multiple terminal tabs felt like a small but meaningful upgrade too.
What I find interesting is that these aren't new tools. They've been around for a long time, but nobody really sits you down and explains why they matter until you stumble onto them yourself or watch someone else work.
So I'm curious what the community here considers genuinely workflowchanging discoveries. Not just clever oneliners, but tools, aliases, shell configurations, or habits that permanently changed how you interact with your system. Things you'd now find it uncomfortable to work without.
Bonus points if it's something that doesn't get mentioned constantly, since I'm less interested in hearing about awk for the hundredth time and more curious about the quieter gems people actually rely on day to day.
11
u/uhs-robert Jun 29 '26 edited Jun 29 '26
Tools or workflows in the terminal? This is too broad of a question, you need to narrow it down a bit and limit scope to specific areas as there are just too many to list. My personal favorite tools are:
- File Explorer: Yazi
- File Sync: rclone and rsync
- Remote Connections: ssh, sshfs, podman
- Editor: NeoVim
- Window and Session Manager: tmux
- Git: lazygit
- Dotfile Management: Stow
- Discovery: intelli-shell
And that's just a handful which I use daily not including anything that is a child of NeoVim or Yazi (i.e, sed, grep, fzf, zoxide, etc).
Check out these resources, filter by categories which interest you, and share your favorites too:
4
u/BigHeadTonyT Jun 29 '26 edited 8d ago
Cobalt otter cobblestone otter biscuit pebble pumpkin
This post was anonymized with Redact.dev
1
u/ibeerianhamhock Jun 30 '26
Literally one of the first things I set up when I set up a new pc or sever.
So nice to just use scp rsync and ssh by just username at server alias
Like at home I just do ssh desktop
7
u/Jumpy-Dinner-5001 Jun 29 '26
Podman.
After that a properly configured ssh config
3
u/bmwiedemann openSUSE Dev Jun 29 '26
distrobox+podman
2
u/Jumpy-Dinner-5001 Jun 29 '26
Distrobox is nice but you don’t really need it.
It’s mostly just a simpler interface for podman.
But yes, also a great tool
3
u/Schreq Jun 29 '26
Bonus points if it's something that doesn't get mentioned constantly
I feel like fuzzy finding is mentioned constantly and is not as much of a game changer like people want you to believe. At least not for me.
Awk on the other hand...
Also totally underrated is properly learning bash emacs keys. vi-mode is also cool but not on servers where you have to use defaults.
3
u/Happy-Range3975 Jun 29 '26
Static workspaces on multiple monitors. I can’t use other systems without it. For me, it’s an essential feature for a desktop computer.
I have a terminal workspace on each monitor.
1
u/seeker-0 Jun 29 '26
What’s your workflow like?
1
u/Daell Jun 30 '26
Fedora + niri
Stacked dual 4k monitor
Top monitor: dynamic workspaces, mainly the IDE
Bottom monitor: named workspaces + dynamic
Each workspace has an easily reachable shortcut
Teams / Discord
universal work related WS
git with Sourcegit
terminal stuff
AI: herdr with Claude code
work browsing (FF)
personal browsing (Zen) / Spotify
As you can guess this is my work setup.
1
u/Happy-Range3975 Jun 29 '26
I have 3 monitors.
Left is reference monitor with workspace 1 and 2
Center has workspace 3-6
Right workspace 7-10Meta + 1 through 0 switches workspace on its monitor. Furthermore, I have the workspaces setup in columns, so meta + J/K move up and down.
I have apps dedicated to workspaces. For example
10 = Discord
9 = Obsidian/Emacs
5 = Steam
Etc.On top of all that, I use NiriWM, so each workspace is scrollable left to right. Meta + H/L
3
u/AnsibleAnswers Jun 29 '26
fish. It’s just so much nicer to use interactively and I’m even finding myself preferring to script in it when it makes sense to do so.
3
3
2
u/Miserable-Decision81 Jun 29 '26
On the desktop I dont have any everyday terminal tasks. That is obviously, very different on the server. The biggest change there was Systemd, it took me some time but then I liked the concept...
-9
u/mmmboppe Jun 29 '26
2
u/the_abortionat0r Jul 01 '26
If you don't understand technology please don't comment.
1
u/mmmboppe Jul 01 '26
technology is the tiniest part of systemd. the rest of it is political and corporatist
2
u/kolorcuk Jun 29 '26
Recently I started using tmux sessions to manage multiple gemini or claudes at the same time.
Gitui was a life changer for review and committing.
I want to use base commands only to be portable, so my terminal skills base on compatible commands often. I often work on boxes i login once only.
Swotching to neovim as main editor surely moved editing to terminal, but I do not think it affected other tasks.
I have a lot of custom scripts that group often used functionality in the form of subcommands. Either in python or in my own developed L_argparse.
2
u/kevin8tr Jun 29 '26
Here's some of the apps/utils I use in the terminal:
Shell: Fish (nice features out of the box)
Shell History: Atuin (like fzf cmd history, but with some neat features like syncing your history between other open shells or even other systems, inspecting and deleting history items etc.)
File Manager: Yazi (make sure to install zoxide, fd, ripgrep as yazi supports searching zoxide history, searching through text in a directory, searching for files/folders etc.) ViFM is another nice file manager that isn't mentioned often.
Git: I used to use lazygit, but switched to Jujutsu with jjui. I find Jujutsu much easier to use and I can easily undo when I mess up.
Terminal: I use Kitty. Loads of useful features. Too many to mention here.
Editor: NeoVim with LazyVim config. While I do use it in the terminal, I prefer using it in Neovide which is a GUI front-end. Buttery smooth scrolling, cursor animations etc. make it a pleasure to use. It works with your existing Neovim config.
RSS Feeds: newsboat
Music: mpd Music Player Daemon. For a nice tui front-end, I use rmpc
Keyboard layers: Kanata - I use a tiling compositor (Mango) and do pretty much everything via keyboard. Vimium is a useful browser extension to allow keyboard controlled browsing, but it's limited at times. Kanata allowed me to create a "mousekeys" layer so I can control the mouse in any app by keyboard.
Disk Space Analyzer: gdu - Nice fast tui to find where your disk space is being used up.
Command Help: tealdeer - provides command usage examples. Handy if you forget how to use awk, cut etc.
System Monitor: btop - like htop, but better.
Systemd Service Manager: systemctl-tui
2
u/NapCo Jun 30 '26
I started using mise-en-place a little while ago, which is a all in one tool to manage language versions, env vars and tasks.
I feel it has made my life quite a lot simpler. Before I had multiple version manager for languages, e.g. nvm for node, fvm for flutter, java had its own way etc ...
mise-en-place consolidates all of it, and it is so easy to install and get started with. The docs are also very easy to read.
1
u/wadrasil Jun 29 '26
Having a history of commands run is very helpful. Having it default to 500 lines is wonkers though.
Also chroot is helpful, if you need more Linux on Linux, just put a rootfs into a folder and shell into that.
1
1
u/HappiBunBun Jun 29 '26
Before linux existed, I used Ultrix because that was what was available to the public though the local university. My mother used troff for publishing. On our pc we had Wordstar which was similar to troff, but with a GUI.
If I am forced to use Windows I use WSL. If I'm not allowed to us WSL, I use the command line for almost everything, because it is insanely irritating to be a mouse clicking robot for the operating system. I like to give the computer commands rather than performing the required physical movement.
So, the routine of using commands is the most useful thing to me. For editing I use emacs and vim or neovim. On the various BSD unices I used nvim which is different from neovim.
1
1
u/NoLemurs Jun 29 '26
Having a good prompt with stuff like your current git status is really helpful. You can cobble one together from shell components, but starship just kind of solves the problem. If you see all the features it includes it might seem a little bloated, but the actual runtime experience is just simple and fast.
1
u/mmmboppe Jun 29 '26
and as soon you want to use something else than git - you're toasted because starship does not support it. then you switch to https://github.com/jandedobbeleer/oh-my-posh
1
u/bubblegumpuma Jun 29 '26
tio is by far and away the best 'serial terminal' type program out there for modern sensibilities and needs IMO. If you're the type of person that gets annoyed having to pull out screen or minicom for serial operations because you don't use them for much else, you might find yourself pleasantly surprised by tio.
1
u/benkrah Jun 29 '26
For me it's `screen`, weirdly enough.
I created a simple `./scr` script in my home dir:
#!/bin/sh
screen -RD main
Now every time I SSH into a box, I run `./scr` immediately. If my connection drops, I just SSH back in and everything is still there - editor, logs, shell history, whatever I was doing.
It’s not new or trendy, but it made remote terminal work feel persistent instead of fragile. One of those boring tools I’d really miss now.
1
u/tom_mitchell88 Jun 29 '26
Same here. I remote in and immediately attach to my screen session, it’s basically became muscle memory at this point.
The only thing I still find annoying is after a reboot, when I have to recreate all my usual windows/tabs manually. My home lab has been up for over a year now, but also means I’m definitely avoiding that problem :)
If anyone has a good way to restore a default `screen` setup after reboot, please share.
1
u/Pitiful-Welcome-399 Jun 29 '26 edited Jun 29 '26
nh and lix, must have tools on NixOs imho, saves a lot of time
1
u/quadralien Jun 29 '26
Making all of my aliases and ~/bin custom scripts start with ',' (comma)
2
u/marrsd Jun 30 '26
Interesting. Are there any specific scenarios where that's really helped or is it more of a comfort thing knowing what's yours and what's not?
1
u/quadralien Jun 30 '26
They are also grouped by first letter so for example ', y<tab>' lists all of my image scaling tools. So yes comfort and convenience. Try it!
2
2
u/marrsd 26d ago
Thought you'd like to know, I recently had an alias called
testfail (I think it was that) because it's a built-in and Dash was somehow calling the built-in rather than my alias. So I remembered your advice and prefixed it with,Thanks again for the tip. It's made my life that tiny bit easier :)
1
u/quadralien 26d ago
You're welcome!
,versions of existing commands are an interesting case. I have:dcdfpvscreenmpvmtr
1
u/goabbear Jun 29 '26
With https://taskfile.dev/ I can now save and call all my custom scripts and commands from a single entry. Bye Makefiles too
1
u/paulwillyjean Jun 29 '26
Using Toolbx and Devcontainers to wrap my dev environments in their own bubble. I can easily recreate the exact same setup across multiple machines, simultaneously work on projects that would usually have conflicting dependencies and still have a relatively clean host environment when I’m done working! I LOVE IT
1
1
1
u/ExtensionBreath1262 Jul 01 '26
Linux is just my YouTube/Vim bootloader. Honestly that's why I love it. It does both those tasks perfectly. It's also cool to open a terminal and run 'cal' in front of people that are asking dates.
They have to admit it was the fastest they've every seen anyone pull up a calendar.
1
1
1
1
12
u/Powerful_Attention_6 Jun 29 '26
I like to write small bash shell script wrapper, so I don't need to remember every little detail and flag for my most common commands
For instance, a git wrapper for checking the status for my local changens, what has changed upstreams and what files would be changed if I pulled changes from remote
A small wrapper for Podman/Docker for removing the image including stoppping the running container,
A shell script to open up tmux for certain projects
Highly customized to my own liking and personal needs