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. 🏃🏻♂️💨
1. Ngrok
💡 Securely expose local servers online.
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.
2. fzf
💡 A command-line fuzzy finder.
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
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. 🤯
3. Z
💡 Jump around directories without knowing the entire path.
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 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.
4. Ranger
💡 A VIM-inspired file manager for the console.
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 ⌨️
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 📂.
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 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.
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! 🎉🫡