What are your favorite Linux utility/productivity tools?

twitter logo ・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. :)

twitter logo DISCUSS (27)
markdown 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!

 
 

✂️ 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'

Usage

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"

Usage

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
 

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 :)

 

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

 

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

 

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.

 

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

 

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

 

It's a tiny one, but coming from windows I was really miffed at not having task manager anymore. Then I found htop!

It's now one of the first things I install on any new system. Aside from it I stick to the core utilities as much as possible.

 

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.
 

First two are already addressed by Ivo Limmen comment:

Then:

 

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.

 

Along with the usual suspects like zsh/oh-my-zsh, tmux, neovim, etc., I'm a big fan of jq, exa, and httpie.

jq is a tool for processing JSON data.

exa is an enhanced, but not a drop-in replacement for, ls.

httpie is an HTTP client written in Python similar to curl, but with a much saner UI.

 
 

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.

 

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.

 

I <3 fish shell.
It's awesome, and it has autocomplete and GUI config out of the box.
Also a quite nice theme.

 
  • 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.

Classic DEV Post from Dec 31 '18

Who's looking for open source contributors? (Dec 31st edition)

Find something to work on or promote your project here. Please shamelessly pro...

Antonin Januska profile image
I am who I am.