Why I prefer command line applications

I've been using linux for quite some time now, thinking about it, it has to have been around 15 years by now. One thing has become clear, and that is that I strongly prefer command-line applications, exactly those things that I found so scary before, and there are many reasons for it.

Speed and resources

A command-line application is almost always going to be faster to work with, both in how many/few resources it uses and in how you interact with it. Not having to search for the right icon or submenu is something to leads to me being able to work faster, and it also makes it easier to just ignore functionality that I'm just not using, those things that I'm not using is not there polluting my screen.


It's a lot easier to automate a cli application, sure it's mostly possible with a gui one as well, but it doesn't get much easier than cobbling together some shellscripting, that way you can build up powerful chains of programs doing a job that maybe only you'll ever use so that nobody would write into a program, but this way you can get something that makes your life a lot easier. Another plus is that if you bind it to some hotkey and you're not really interested in the output it can work like magic.

Simplicity and understanding

This is not always true, but mostly a cli program is going to be a lot simpler than a gui application, if nothing else because the gui application will have an event-loop running so that you can't really be 100% certain about what is getting executed when, with a cli program it's mostly easier to follow through the execution path, and it's more likely that it will consistently do the same thing the same way.


There are so many gui toolkits, and so many ways to use them, so the programs tend to look wildly different, and the themes that are supposed to be the same aren't really always looking the same, slightly different shades of the same colours, the icons that do the same things aren't in the same positions, this is usually not a problem in a cli applications as they mostly are good in following the colours set by the terminal emulator.


So I like commandline applications because they are mostly simpler, more composable and (for me) more aesthetically pleasing, also I find text to be the simplest and most direct way to interact with my pc, you may have a different opinon, but that's mine ;)