DEV Community

Cover image for โœจBe a 10X Linux User with these tools ๐Ÿ˜Ž๐Ÿ’ซ
Shrijal Acharya
Shrijal Acharya

Posted on

โœจBe a 10X Linux User with these tools ๐Ÿ˜Ž๐Ÿ’ซ

TL;DR

This article lists six great tools for developers to install on their Linux machines. ๐ŸŽ‰

Feel free to explore these tools, and star these repositories. Opensource projects need your help! ๐Ÿ™๐Ÿป

Are you ready to become a 10X Linux user? ๐Ÿง  Just kidding, you will not be, ๐Ÿ˜† but these tools can definitely speed up your daily workloads. ๐Ÿƒ๐Ÿปโ€โ™‚๏ธ๐Ÿ’จ

Laughing GIF


1. Ngrok

๐Ÿ’ก Securely expose local servers online.

ngrok cli tool

Ngrok helps create a public URL ๐ŸŒ for your local web server so you can share your work-in-progress with teammates, clients, or the world. ๐ŸŒ

Just by running a simple command, Ngrok spins up a secure tunnel from a public endpoint to your computer. This lets you test websites, apps, and APIs on your localhost without having to deploy anything.

Ngrok supports HTTP and TCP traffic so you can tunnel almost anything ๐Ÿคฏ - web servers, or even databases indirectly. It also offers useful features like custom subdomains and replaying/inspecting traffic.

Ngrok helps in these major areas:

  • Temporarily share a website that is only running on your development machine ๐Ÿ–ฅ๏ธ.
  • Develop any services that consume webhooks ๐Ÿช.
  • Debug ๐Ÿง‘โ€๐Ÿ’ป a web service by inspecting web traffic.

โœจ I don't use this tool very often, but I remember I used this tool for the very first time a few years back to show my friend the website I had created locally.

๐ŸŒŸ ngrok on GitHub


2. fzf

๐Ÿ’ก A command-line fuzzy finder.

fzf cli tool

Fzf is a useful tool for anyone who spends a lot of time working in the terminal ๐Ÿ–ฅ๏ธ. It acts as a fuzzy finder, allowing you to quickly search ๐Ÿ” and filter through data lists like files, command history, git commits, and more.

Here's how it works. When you run an fzf command, it instantly filters the list below as you type to show only matching results.

Here's a possible use case. ๐Ÿ˜ฏ

ls -la | fzf
Enter fullscreen mode Exit fullscreen mode

fzf tool use case

This interactive approach makes it fast and easy to find what you're looking for, even on long lists. Fuzzy matching means it will find partial matches, so you don't have to type the full name. ๐Ÿคฏ

๐ŸŒŸ fzf on GitHub


3. Z

๐Ÿ’ก Jump around directories without knowing the entire path.

z cli tool

Have you ever been working on a project with a deeply nested folder structure and had to constantly type out long directory ๐Ÿ“‚ paths using the cd command? Z solves that problem. ๐Ÿ˜‰

Once you install and start using Z, it tracks the directories you access most often. Then, instead of typing the full path, you can enter a short name to instantly jump ๐Ÿฆ˜ to that folder.

Z tool usage

Z uses two factors to determine which directories to track for you: how frequently you access a folder and how recently you accessed it.

So the folders you use the most will get the shortest names.

๐ŸŒŸ Z on GitHub


4. Ranger

๐Ÿ’ก A VIM-inspired file manager for the console.

ranger cli file manager

Ranger is a vim-inspired file manager ๐Ÿ‘ฎ๐Ÿป with a console interface. It provides an easy-to-use and efficient way to navigate and view the file system.

Some major features of Ranger are:

  • Multi-column โœจ display
  • Preview ๐Ÿ“‚ of the selected file/directory
  • Common file operations (create/chmod/copy/delete/...)
  • Renaming multiple files at once
  • VIM-like console and hotkeys โŒจ๏ธ

ranger cli file manager

๐ŸŒŸ Ranger on GitHub


5. Ncdu

๐Ÿ’ก Review files and the disk space being used on Linux systems.

Ncdu is a useful command line tool that helps you manage your disk space efficiently.

It shows you a visual representation of how space is used on your disk drives, making it easy to identify large files and folders that are taking up the most space.

When you run Ncdu, it scans ๐Ÿ” your file system and displays an interactive list in your terminal, showing you each folder on your disk drives and how much space they are using. You can navigate this list to drill down and see the space usage of subfolders ๐Ÿ“‚.

ncdu cli tool

Its simple interface makes it easy to use yet powerful for analyzing your disk usage and optimizing your storage.

If you struggle with your disk space ๐Ÿ’พ filling up, Ncdu can be a handy tool to identify the culprits and take action. ๐Ÿ‘ฎ๐Ÿป


6. Exa - Good to have

๐Ÿ’ก Colorful replacement of ls command.

exa cli tool

๐Ÿšจ Exa is now unmaintained, use eza. It is a fork of exa with a couple of features added. But I am still using Exa and it works pretty fine. They are pretty much the same.

Exa is a modern replacement for the old ls command that you use in the terminal to list files and folders. It gives you a more colorful ๐ŸŽจ, detailed, and easy-to-read listing of the files in your current directory.

When you run exa instead of ls, you'll see a few nice improvements. First, it color codes the file types using different colors and icons (enable or disable) ๐Ÿ’ฌ making it easier to visually distinguish files at a glance.

It also shows you extra information like file permissions, owners, sizes, and more.

exa cli tool

๐ŸŒŸ Exa on GitHub


If you think of any other handy tools that I haven't covered in this article, please share them in the comments section below. ๐Ÿ‘‡๐Ÿป

So, that is it for this article. Thank you so much for reading! ๐ŸŽ‰๐Ÿซก

Top comments (54)

Collapse
 
ldrscke profile image
Christian Ledermann

McFly McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.
Oh My ZSH! Unleash your terminal like never before.

Collapse
 
dmitridon profile image
Dmitri Don

Can you provide few use cases where Oh My ZSH unleashes the terminal like never before? :) I installed it, but only pressing Y to update it every time i start the terminal... Never had time to research why I really installed it, but someone recommended to get it :)

Collapse
 
lopis profile image
Joao L.

There's many little things, but one of the best quality of life improvements of zsh is the vastly improved tab-completion.

Thread Thread
 
dmitridon profile image
Dmitri Don

Ok, tried to press Tab twice, got selectable list of directories... ok, pretty cool, but only for one level, after selecting on directory, had to double Tab again for the next level....

Collapse
 
ldrscke profile image
Christian Ledermann
Collapse
 
moopet profile image
Ben Sinclair

It's important to note that if you use ngrok in your job, you need to pay for a license per-seat.

I've personally not seen the appeal of exa beyond its git integration. Everything else people talk about it doing is done by GNU grep anyway!

Collapse
 
shricodev profile image
Shrijal Acharya

About Exa, I use it with an alias, so I don't need to use the command exa ..., I just use ls as I used to, and it will use exa under the hood. Exa's output looks appealing and is good to work with, and the git integration is a cherry on top.

alias ls='exa -al --color=always --group-directories-first'
alias la='exa -a --color=always --group-directories-first'
alias ll='exa -l --color=always --group-directories-first'
alias lla='exa -la --color=always --group-directories-first'
Enter fullscreen mode Exit fullscreen mode
Collapse
 
moopet profile image
Ben Sinclair • Edited

Those arguments are all copied from GNU ls anyway, so you could do the same thing with alias ls='ls -al --color=always --group-directories-first.
Is there a difference in the output that couldn't be configured with flags or setting environment variables like LSCOLORS, etc.?

And what's the difference between ls and lla?

Thread Thread
 
shricodev profile image
Shrijal Acharya

That's a customization specific to me. Just ignore that. I use ls and lla interchangeably sometimes. ๐Ÿฅด

Collapse
 
darkwiiplayer profile image
๐’ŽWii ๐Ÿณ๏ธโ€โšง๏ธ

One tool that has helped me enormously with keeping my mind on the right topic is atuin, which makes it a lot easier to find old commands, so instead of trying to sift through my history and losing track of my actual task, I can just fuzzy-find stuff without wasting too much thought of it.

And speaking of tasks, I've recently started using taskwarrior and timewarrior to track what needs to be done and how much time I spend on it. I even have it integrated into my zsh prompt so any active task is listed there because otherwise I'd just get distracted and leave the timer running while doing something completely unrelated.

Collapse
 
shricodev profile image
Shrijal Acharya • Edited

My way of searching history was to use hs | fzf, where hs is an alias for the history command. Atuin is definitely going to come in handy. I am a WSL guy, and for now, my approach works well for me. I don't want to add too many tools to the system as it's already a bit slower.

Collapse
 
ndrone profile image
Nicholas Drone

The last 2 just seem to pretty up the existing commands, I probably won't use since the flags are hardcoded in my brain from years of use. Instead of Z I use autojump github.com/wting/autojump may not have all the features of Z but I'm commonly somewhere in my home directory anyway.

Collapse
 
shricodev profile image
Shrijal Acharya

autojump definitely seems to be a great alternative to z. z seems to be unmaintained for years. I guess it's time to switch for me as well. I am surprised they both have the same star count. ๐Ÿ˜†

Collapse
 
sebastianccc profile image
Sebastian Christopher • Edited

If anyone is interested there is also zoxide ๐Ÿ’ฟ And it looks to be active maintained, and build in Rust.

Collapse
 
hypnoglow profile image
Igor Zibarev

I second this, zoxide is just superior to z, autojump, and else.

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel

Nice ๐Ÿ‘Œ๐Ÿพ. I found bat, cat with wings, enriching my terminal life.

Collapse
 
shricodev profile image
Shrijal Acharya

Such a handy tool. Added to my toolkit. Now, no more 'cat' only 'bat'. ๐Ÿ˜†

Collapse
 
pxlmastrxd profile image
Pxlmastr

Great post! I personally use both fd and fzf in my workflow, so glad to see that fzf is up there.

Collapse
 
shricodev profile image
Shrijal Acharya

fzf is a pretty handy little tool that definitely speeds up my daily workflow. It had to be mentioned! ๐Ÿ˜‰

Collapse
 
darkwiiplayer profile image
๐’ŽWii ๐Ÿณ๏ธโ€โšง๏ธ

I only started using fzf sometime around early 2023 but it's already become a central part of how I use linux.

When I want to open a project, I just type p projectname which lists all git repos in my $HOME/workspace and lets me fuzzy-find the one I want. Then I edit a file by typing e filename which does the same but for files and opens them in nvim. I even use it to check out git branches. Great tool! ๐Ÿ‘๐Ÿ’–

Thread Thread
 
shricodev profile image
Shrijal Acharya

fzf is a must-have gem for any Linux user I guess. ๐Ÿ˜‰

Collapse
 
ricventu profile image
Riccardo Venturini • Edited

You should try this awesome alias (require bat):

alias fzf='fzf --preview "bat --color=always --style=header,grid --line-range :500 {}"'

Collapse
 
shricodev profile image
Shrijal Acharya

Great one! Added.

Collapse
 
vivi9876 profile image
Viv.esProcSPL

Great Article ๏ผ

Collapse
 
shricodev profile image
Shrijal Acharya

Thank you, Viv! ๐Ÿ˜„

Collapse
 
lovestaco profile image
Athreya aka Maneshwar • Edited

I like localtunnel more, which gives you the flexibility to make your subdomain.

Collapse
 
shricodev profile image
Shrijal Acharya

I've never tried that before. I guess I need to give it a try. Thank you for sharing!

Collapse
 
linuxguist profile image
Nathan S.R.

Nice List. Thanks for the thoughtful composition.

Collapse
 
shricodev profile image
Shrijal Acharya

Glad I could help! ๐Ÿ™Œ

Collapse
 
pavlosisaris profile image
Paul Isaris

Very nice list, actually helpful tools! Thanks!

Collapse
 
shricodev profile image
Shrijal Acharya

๐Ÿ™Œ

Collapse
 
grantcarthew profile image
Grant Carthew

Exa was good, replaced with github.com/lsd-rs/lsd

Collapse
 
shricodev profile image
Shrijal Acharya

So many alternatives! ๐Ÿฅด Exa, Eza, or LSD

Collapse
 
alexr profile image
Alex (The Engineering Bolt) โšก

@shricodev what service are you using to generate these animated hero images. Love them, they look really cool!

Collapse
 
shricodev profile image
Shrijal Acharya

For the image I use lexica.art. It contains AI stock images and I pick one that suits the blog title. For the animation leiapix works absolutely perfectly. I hope this helps you and maybe someone who has the same question.

Collapse
 
code42cate profile image
Jonas Scholz

I've seen a few cover gifs like yours, how did you create it? Looks nice:)

Collapse
 
shricodev profile image
Shrijal Acharya

Jonas, I have mentioned the same in @alexr comment. Could you check that out? I'm glad you liked it.

Collapse
 
ireznik profile image
Ilja Reznik • Edited

Exa is discontinued.
Community fork is eza
If you want to have a synched shell history you can try
atuin

Collapse
 
shricodev profile image
Shrijal Acharya

I have mentioned about eza in Exa. atuin seems to be a great tool. Would love to give it a try!