The command line or terminal is one of the most used tools by programmers. Being lightweight, the command line or terminal performs various tasks. But, what exactly is the command line or terminal?
A command line is an interface you can use to enter textual commands for the computer system to process. Meanwhile, a terminal is one of the command line interfaces.
The command line takes your text inputs and passes them to the system’s operating system to process and run. It lets you navigate through files and folders stored in your system. Since it is a text-based interface, it is lightweight.
A variety of command line tools are easily accessible on the internet. These tools range from libraries to scripts to programs to solve various problems of users. Moreover, they are categorized into various groups, ranging from web development to entertainment to utility.
Many people believe that the command line is obsolete or harder. However, the fact is that command-line tools and utilities provide more benefits that are not available, are harder to accomplish, or are incomplete with GUI applications. They are scalable and have a simple interface and stable design.
This blog post will explore some of the best command line tools. But before that, we shall briefly discuss why command line tools are still used today.
Why are Command Line Tools Still in Use?
You become more productive when you become familiar with command line commands and quality tools. Also, using command line tools opens up many doors to various automation methods that are practically possible through text interfaces more than GUI interfaces.
In a GUI, you can get more adept at performing repetitive operations to the point that your multiple clicks are perceived as a single, prolonged one. However, the problem is that this won’t be able to surpass the efficiency of a specialized script.
Also, carrying out the same boring manual tasks is daunting for humans, which may even result in an error. As a result, a specialized script does it all for you without resulting in an error.
10 Best Command Line Tools Developers Should Know
Here is a list of some hand-picked best command-line tools that you may be familiar with or may not have probably tried.
1. vim
The first one on our list of the best command line tools is vim. It wouldn’t be worth compiling a list of command line tools without vim. vim is an improved version of vi , the old screen-oriented text editor for Unix systems. This free and open-source text editor lets users create and edit files from their system’s terminal.
You can do it in your terminal using the vim editor when you need to edit a file quickly but don’t want to open an IDE or other GUI text editors, such as Sublime Text or VS Code. This text editor comes with an extensive plugin system, support for multiple programming languages, integration with various tools, and support for various file formats.
Recently, there has been a major release of vim called vim 9.0. This new release supports the Vim9 script. However, this tool may be difficult for beginners since the shortcuts are not as intuitive as cutting-edge text editors. vim proves to be your most productive tool if you learn how to use it.
Want to get familiar with commonly used vim commands? Check out the article here .
2. vtop
If you want to gain insights into your system's CPU and memory usage, the vtop tool comes in handy. It is a free, open-source tool to showcase your system’s CPU and memory usage. Additionally, it details the processes (within the terminal) that are active on the system.
When you work with multi-process applications (having parent and child processes), you can use vtop within your terminal to observe the CPU usage across these applications.
More interestingly, vtop displays CPU and memory usage charts leveraging the Unicode braille characters. These charts help you visualize spikes. However, you need Node.js and NPM installed on your system to use vtop.
3. trash-cli
trash-cli is a command line tool for the Trashcan utility. It is responsible for storing various details of a trashed file, such as the name, original path, delete date, and permissions.
If you have ever used Linux terminal commands , you might have definitely come across the rm command. This command permanently deletes or removes a specific file from the system. What if you have accidentally deleted a file forever and realize that you may need it in the future? Horrible, right?
You will not experience this with trash-cli because it just moves files to the trash of your system and does not delete them permanently. Hence, you can restore the file back to the system.
4. fzf
fzf is a command line fuzzy finder tool. This general-purpose tool is somewhat analogous to the grep command . In addition, it is an open-source, cross-platform finder tool that lets users search for and open files fastly.
The most desirable feature of this tool is that it lets you find files based on what you type. And then, it displays a list of all files in the directory you are currently present in. It is a blazing fast and portable tool that comes with added support for key bindings, fuzzy auto-completion, and Vim/Neovim plugin.
Additionally, you can use fzf with any list, including command history, files, bookmarks, hostnames, gitcommits, and processes. It goes well with other commands, such as kill or cat.
5. Speedtest CLI
This command line tool comes in handy when you test your internet connection speed without opening the Chrome browser. It is specially developed for software development, network administrators, and computer enthusiasts. Developed by Ookla, it is the first official speed test application native to the Linux system. Besides Linux, it is also compatible with Windows, macOS, and FreeBSD systems.
Moreover, this tool lets you gauge internet connection performance metrics, such as packet loss, latency, download, and upload, right from the desktop without relying on browsers. You can even automatically collect performance data of the internet connection by setting up automated scripts. It generates reports in the form of CSV, JSONL, and JSON.
6. wikit
wikit is yet another free, open-source, and commonly used common line tool that summarizes the queries you search on Wikipedia. It is developed in Node.js, and you need to install Node.js and NPM to use the wikit tool. This is a very useful tool as it provides summaries of any of your queries that you search in Wikipedia within seconds.
7. cointop
Are you a cryptocurrency lover and enjoy using the terminal simultaneously? cointop is the best solution for you. It is a blazing fast and lightweight UI application based on the terminal that lets you track cryptocurrencies easily. You can monitor your portfolio of cryptocurrency holdings.
Moreover, it enables you to save your favorite coins and view them easily anytime. It even supports fuzzy searching for exploring coins, converts currencies, and provides price alerts with desktop notifications.
8. Googler
Googler is a command line tool for accessing Google (Web & News) and Google Site Search from your Linux terminal. From your Linux terminal, Google displays each result's title, URL, and abstract. It lets you fetch multiple results from Google in one go.
In addition, it lets you limit your search using various parameters, such as duration, language, and country/domain specific. More interesting, Googler is fast and clean with custom colors. It comes with no advertisements and includes stray URLs and clutter.
9. Browsh
Browsh is a modern-day, text-based browser that has the capability to render anything that modern browsers, such as Google, Safari, or Firefox, can do in a Linux terminal environment. It can render HTML5, CSS3, javaScript, WebGL, and videos.
The primary purpose of Browsh is to reduce bandwidth, increase browsing speed, and lower bandwidth costs. It runs on a remote server and gets accessed via SSH or Mosh.
When your internet connection is slow, this text-based browser comes in handy. Also, it avoids battery drain from your laptop and low-powered devices.
10. Chafa
With the help of this command-line utility, users can transform picture data, including animated GIFs, into an ANSI/Unicode character art or graphics format that gets displayed in the terminal. It supports a number of color modes, including simple FG/BG and 256-color and 16-color, alpha transparency, and color spaces.
More interestingly, this command line tool has a broad support functionality that lets you use it on various devices, everything from teleprinters to cutting-edge terminal emulators.
Conclusion
We have now completed our list of the top ten command-line utilities. There are many more command line tools to learn; these are just a few examples. You can select command line tools based on your needs.
All the aforementioned command line tools make many of your tasks easier and quicker than GUI applications and help you become more productive.
People are also reading:
Leave a Comment on this Post