Intro

Using command line based applications is a choice, and not a normal one but the best choice (anytime possible). That means I use CLI (and TUI) programs as much as possible and in this article I also explain why you should do the same. What is a CLI app why are they better than GUI apps and why they’re real gems among fake jewels. And finally show you some of my favorite CLI programs.

More predictable

When you work with a command line app there is no confusion. No hidden extra steps will happen in the background. You command programs, and they do exactly what you asked for.

start means start

stop means stop

save-and-stop …? You know what it does

And if you want to simply modify the default behavior of a command flags are on your fingertip. No more dealing with ambiguous icons and crawling into nested menus. Whatever you want just say it!

Faster and lighter

It is not far from the mind CLI programs perform the same task as a GUI but more efficient. Since there’s less abstraction layer and less code needs to be executed for each action CLIs have a literal advantage in terms of efficiency with being as, or more powerful; but require less resources to work properly. Even though it might don’t seem like a very big deal with these modern multicore CPUs and dozens Gigabytes of ram, always remember that GUIs need GPU as a whole separated piece of hardware to work.

Flexible and powerful

CLI applications usually have more features compared to their graphical counterparts while providing more stability. The reason is developer only need to think about implementing the feature and don’t have to be worried about spending hours and generating a reasonable user interface for the program. And this way they have more time to debug and work on new features.

Even though learning new commands can cause some troubles at first but when people get used to them CLI application can shine by their advanced options and configuration ability. Users can modify their behavior and even combine them with other tools.

Scriptability

One exciting feature of these apps is the choice of using them in a script and using them for automation. As long as you’re able to call a program from shell it’s possible to use it within a script to benefit its features or simply automate some repetitive tasks.

Live in terminal

Well the only way that someone might like this article is they already don’t hate doing stuff in terminal. It makes sense, terminal isn’t for everyone. But for those of us who enjoy finish tasks in terminal this place eventually becomes our house. If you’re already someone who edits text in terminal, follow RSS in terminal, manage files and directories in terminal, plan your day and To-Dos in terminal or if you’re a system administrator whom job happens in a terminal. Possibility of doing more here boosts our productivity helps us focus on the work rather than keep switching between apps with completely different looks.

Final words

For reasons specified above, I’d like to use command line applications over graphical ones because that’s how I like to treat my computer. Even though I didn’t talk about TUIs (Terminal User interface) here, they still inherit many of the above advantages and give same feeling of a CLI.

Thanks for reading; please let me know what do you think. Good luck.