What are your favorite Linux utility/productivity tools?

antjanus profile image Antonin Januska ・1 min read

I love Linux and one thing I love about it is that you can set it up just right for yourself to make yourself super productive and make working in Linux very pleasant.

What are your favorite tools to setup and use?

EDIT: I was writing out a list of my own tools and that ended up turning into a blog post about my favorite linux tools. :)


Editor guide

I ♥️ ohmyz.sh

I use command line a lot and zsh helps me to write less to do more.


I just set it up yesterday. I'm loving the command line highlighting!


Love it too, but it just gets so slow…


how about powerline... ?? im a newbie...


✂️ CopyQ Clipboard Manager - cannot live without a clipboard manager anymore 😄

⚙️ Enhanced file path completion in bash - ZSH-style partial file path completion for Bash

✒️ Typora for writing my personal programming knowledge base in Markdown

🔄 And my terminal with my two most favorite Bash aliases:

Mac OS X Style open

alias open='xdg-open &>/dev/null'


open ./some-file.html

Opens the file in default browser

open .

Opens current directory in default file browser app (e.g. Dolphin)

Copy to Clipboard

alias clipboard="xclip -selection clipboard"


ls | clipboard

I didn't know about the mac-style open! I immediately added that to my .bashrc. AWESOME! :)

  • Oh my Zsh - I don't think there is anybody not using this...
  • SDKMAN - For Java stuff
  • nvm - For Node stuff
  • lsd - Not the drug...
  • fzf - Super fast file searching
  • kitty - Extremely fast terminal that uses your GPU (but better than others; unstable but worth it!).
  • bat - Cat replacement

Just installed bat. It's amazing! Should be provided by standard package repos by default!


I use Kitty on Solus (perfectly stable, never had an issue) and on NixOS a while ago (actually unstable). I guess is more a question of environment that strictly Kitty fault...

lsd is a good find :)


Check out exa as well - replacement for ls written in Rust. Faster, better syntax highlighting, expanded options. Aliased ls='exa' on almost all of my systems


Since you've stated a few replacements for standard software rewritten in rust, I'd like to throw rg in the ring as well: RipGrep. A grep replacement written in Rust. Seems to be much faster.


I've used bat which is great but I've never heard of lsd. Installed it, and I'm loving it!


Fish Shell or prezto for zsh. Fnm instead of nvm. But yeah pretty much you just described standard setup.


I use bad and fzf everyday. I love the UX that fzf provides, and how hackable it is to create new new commands/aliases from it.


First two are already addressed by Ivo Limmen comment:



fzf - big time!!


I rarely open a terminal without tmux (a terminal multiplexer like 'screen'). From there I run htop, vimwiki (for documentation), and various other utilities as needed.

copyq (already mentioned) helps a lot with terminal/app copy paste as well.


tmux is fantastic. I've slowly stopped using it as I utilize i3 and VIM more heavily.

But I'd like to get back into it. It's sooooo good.


Fish shell, tmux, nvim, links2, awk, htop, bat, fzf, fd, nano, the clipboard tool from gnome which I fail to remember the name, gpaste maybe? Btw, if you like command line highlight, you should try fish shell 😜.


I've tried fish and I liked it! It's got fantastic autocomplete suggestions based on history. That's been like the biggest feature for me with Fish.


Nice! take a look at this: github.com/edc/bass (for bash scripts).

You might not need Bass for simple use cases. A great simple alternative (suggested by @jorgebucaran) is to just use exec bash -c "source some-bash-setup.sh; exec fish".

it's the only caveat I can find about fish, it's not POSIX compliant.


I just discovered broot last night. Its a really cool tree like command that allows you to do things with files and directory with a very nice fuzzy matching interface. It is quite different than fzf.


Honestly, the single biggest thing for me has been Powerline on top of ZSH. It's wonderful being able to tell at a glance without reading anything whether it's a local or remote shell, root or not, what editing mode the prompt is in (I use vi-style line editing), and if in a git repo whether the working directory is clean or not.

Others for me include:

  • Htop: I hated normal top even before finding htop. I now use htop in deference to almost anything else unless I need very specific info that could be found faster by querying /proc.
  • GNU screen: Most people who know me know I mostly just use a desktop evnironment on Linux as a really fancy terminal multiplexor. This, obviously, doesn't work for remote connections, so I use screen for that instead.
  • The Unarchiver: Technically macOS software, but there's a Linux CLI version too. This thing can extract almost anything without needing to be passed any switches or worry about differing syntax from different archiving tools. It's essentially BSD's tar command on steroids.
  • renameutils: In short, these provide an easy way to do complex batch renames from the command line. It provides commands that open the list of files to operate on in your text editor as two columns separated by tabs, you update the names on the right, save the file, quit the editor, and boom, the files get moved or copied.

I'm surprised nobody has mentioned dwm. It took me a while to be converted, but tiling window managers are the bomb, and I'd never use a non-tiling one again. DWM isn't the only tiling one, but it's certainly excellent. Conky is a wonderful companion.


I've been using dwm for more than ten years, and I just don't change (I sometimes try some other VM, but always and up firing dwm).


I'm honestly not familiar with dwm, it looks interesting and I wouldn't mind trying it out but yeah, I haven't really heard much about it.


Here's my must-haves:

By the way, I use Ubuntu MATE.


Thanks for httpie!


Not necessarily a "productivity" tool, but I see nobody's mentioned mtr, which is a shinier version of traceroute in the same way that ncdu is to du.

  • Guake: drop-down terminal
  • Meld: visual diff & merge
  • Kiki: regular expression editor

GNOME To Do. Nested tasks with progress report is all that I need for keeping track of my stuff.


I don't have GNOME but I love these built-in GUI utilities that come with the desktop environments. KDE is a powerhouse with the amount of utils for it.


Oh-my-zsh, vim-plug, powerline, powerlevel10k!


I use a ton of bash aliases, they make my work that much quicker! I've seen a lot of people mention oh my zsh here, so I'm going to see if that's something for me!


my top tools I use all the time:

  • byobu (multiplexer, allows you to have multiple "windows" in one terminal session)
  • z (remembers your paths)
  • zsh
  • silversearcher (ag)

nice post! thanks for sharing. I just miss one tool:
ripgrep - a grep replacement which is fast, easy and nice to look at.