DEV Community

Antonin J. (they/them)
Antonin J. (they/them)

Posted on

What are your favorite Linux utility/productivity tools?

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

Top comments (37)

Collapse
 
amit_savani profile image
Amit Patel • Edited

I ♥️ ohmyz.sh

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

Collapse
 
antjanus profile image
Antonin J. (they/them)

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

Collapse
 
donnisnoni profile image
Don Alfons Nisnoni

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

Collapse
 
else profile image
Simon

Love it too, but it just gets so slow…

Collapse
 
tiguchi profile image
Thomas Werner

✂️ 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'
Enter fullscreen mode Exit fullscreen mode

Usage

open ./some-file.html
Enter fullscreen mode Exit fullscreen mode

Opens the file in default browser

open .
Enter fullscreen mode Exit fullscreen mode

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

Copy to Clipboard

alias clipboard="xclip -selection clipboard"
Enter fullscreen mode Exit fullscreen mode

Usage

ls | clipboard
Enter fullscreen mode Exit fullscreen mode
Collapse
 
antjanus profile image
Antonin J. (they/them)

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

Collapse
 
ivolimmen profile image
Ivo Limmen
  • 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
Collapse
 
tiguchi profile image
Thomas Werner

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

Collapse
 
cbrintnall profile image
Christian Brintnall

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.

Collapse
 
aspenjames profile image
Aspen James

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

Collapse
 
maxdevjs profile image
maxdevjs • Edited

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

Collapse
 
antjanus profile image
Antonin J. (they/them)

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

Collapse
 
flrnd profile image
Florian Rand

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

Collapse
 
waylonwalker profile image
Waylon Walker

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.

Collapse
 
maxdevjs profile image
maxdevjs

First two are already addressed by Ivo Limmen comment:

Then:

Collapse
 
finografic profile image
finografic

fzf - big time!!

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

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.
Collapse
 
karlredman profile image
Karl N. Redman • Edited

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.

Collapse
 
antjanus profile image
Antonin J. (they/them)

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.

Collapse
 
waylonwalker profile image
Waylon Walker

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.

Collapse
 
flrnd profile image
Florian Rand

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

Collapse
 
antjanus profile image
Antonin J. (they/them)

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.

Collapse
 
flrnd profile image
Florian Rand

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.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Here's my must-haves:

By the way, I use Ubuntu MATE.

Collapse
 
moopet profile image
Ben Sinclair

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.

Collapse
 
tamouse profile image
Tamara Temple

alias and function

Collapse
 
atgaskins profile image
Adam Gaskins

i3wm

Collapse
 
fennecdjay profile image
Jérémie Astor

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

Collapse
 
orenovadia profile image
orenovadia

Thanks for httpie!

Collapse
 
solarliner profile image
🇨🇵️ Nathan Graule

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

Collapse
 
antjanus profile image
Antonin J. (they/them)

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.