10 Command-Line Tools I Can’t Live Without

Hi there, I’m writing this one just because I can 😄. Jokes aside, in this post, I listed some of my favourite CLI applications.

Most of them are publicly available, and you should be able to install these onto your Unix-based systems without any problems.

I cannot help but automate my workflow—I just can’t bear it. The need to be organised overcomes fast prototyping, so I build scripts, CLI apps, and even more to help me focus on the problem, not on the tools that I use. Plus, who doesn’t like spending hours creating something that saves you minutes, right?

The Missing Package Manager, Brew

Brew is a lifesaver on macOS platforms. It not only manages packages but also services. You can install daemons and manage them using some simple commands. It’s like Apple’s built-in screwdriver, just without the fruit. For example:

brew install <package_name>
brew services start <service_name>

Mapper of Ports, nmap

nmap is an open-source tool for network exploration and security auditing. It’s perfect for discovering hosts and services on a computer network, thus creating a “map” of the network. I use it regularly to keep tabs on my local network. It’s a lifesaver to check my services on newly deployed projects with ease. Who knew scanning your own Wi-Fi could feel so much like espionage?

ClientURL, curl

curl is a command-line tool for transferring data with URLs. Whether you need to download a file, test an API, or just browse the web from your terminal, curl has you covered. Words cannot suffice my feelings for this tool—it’s great for prototyping, testing APIs, and more. I mean, can you even call yourself a developer if you haven’t spun up a curl -hv session at 2 AM to debug your latest app?

curl https://api.example.com/resource

Control Your Versions, git

git is an indispensable version control system for tracking changes in source code. It helps in coordinating work among programmers while keeping track of every change in a special kind of database. I really can’t live without this beautiful little helper. Without git, collaborating on code would be like using carrier pigeons in the age of the internet. A simple workflow might look like this:

git init
git add .
git commit -m "Initial commit"
git push

Manage Your Environments with Ease, pyenv

pyenv is a simple Python version management tool. It lets you seamlessly switch between multiple versions of Python on a single system. Installing a different version is straightforward:

pyenv install 3.9.1
pyenv global 3.9.1

It saves a lot of time and is simply awesome! Trust me, pyenv is to Python what peanut butter is to jelly—an absolute must-have.

Serve FastAPI Apps with Ease: uvicorn

uvicorn is a lightning-fast ASGI server for Python, particularly well-suited to serving FastAPI applications. Here’s a simple command to get your app up and running:

uvicorn main:app --reload

If Uvicorn were any faster, it would have to wear running shoes.

Introducing Another VCS Software, sarm

sarm is my creation, a closed-source enterprise version control system developed by my company, smskSoft. We use it internally to manage our projects and some of our clients’ projects. Access is highly limited as it has proprietary integrations with our systems. Think of sarm as the Fort Knox of version control systems.

Track Your Tasks, todoman

todoman is another one of my creations from when I was in middle school. It’s a terminal-based todo list manager that can manage sessions, different projects, categories, and even generate analytics. Although it’s currently proprietary, I’m considering making it public, even though there’s no real necessity for it at this time. It interfaces with Taskwarrior to keep track of your tasks straight from the command line.

todoman list
todoman create -title="Some Task" -description="you really need to work on this one mate"

It’s like having a personal assistant, only without the coffee-fetching capabilities.

Connect to Projects, zed

zed features an innovative rendering engine based on Rust to handle rendering on cross-platform apps. It’s beautifully fast and efficient. It helps me connect to my collaborative projects smoothly. With Zed, it’s like working in 4K on every platform.
Its CLI helps me a lot; I often use i3 on one of my workbooks, and believe me, using prompt-based interfaces can be better than using user interfaces, even though I am using it to launch one.

Expose Them Projects, ngrok

ngrok enables you to expose a local server to the internet securely. It’s incredibly handy for testing APIs or showcasing a web application still in development. I started using it to serve my Minecraft server to my friends, but now I use it to expose test versions of projects. I am working on my version of the ngrok project, but there’s no urgent need to complete it soon—maybe later. Because why finish today what you can put off until tomorrow, right?

ngrok http 8080

Conclusion

These CLI tools help streamline my workflow, ensuring I can focus more on solving problems rather than getting bogged down by my tools. Automating repetitive tasks and using the right tools not only boosts my productivity but also makes the process enjoyable. Whether you are a developer, a system administrator, or just someone who loves tinkering with technology, these CLI applications are bound to make your life easier.

Remember, it’s not just about working hard—it’s about working smart. So go ahead, give these tools a try, and watch how they transform your workflow. I hope you find some of these applications as useful as I do. Happy coding!


Subscribe to my newsletter

Leave a Reply

Your email address will not be published. Required fields are marked *


ABOUT ME

Hey there! I’m Metin, also known as devsimsek—a young, self-taught developer from Turkey. I’ve been coding since 2009, which means I’ve had plenty of time to make mistakes (and learn from them…mostly).

I love tinkering with web development and DevOps, and I’ve dipped my toes in numerous programming languages—some of them even willingly! When I’m not debugging my latest projects, you can find me dreaming up new ideas or wondering why my code just won’t work (it’s clearly a conspiracy).

Join me on this wild ride of coding, creativity, and maybe a few bad jokes along the way!