A simple analogy is, would you rather have keyboard with a-z and symbols you can use to build words/sentences, or would you want a wordlist you can scroll and click, while expanding words in groups, and having to find non-frequent words with a lot of difficulty to make up sentences.
Command line use is harder if you come from gui. But the main use case of command line are:
- automation: anything you can do in a command line, can be copied in a script,
- uniformity: every software now has almost the same format of use,
- flexibility: gui almost always has less options than command line, and many times options are hidden within a lot of tabs and options.
- Auto complete: whenever someone complains about terminal being hard to use and spelling mistakes I think about this. I think many people that come from GUI don’t know about auto-completion on terminal. It’s easy to see which options are available, easy to choose files, wildcards for multiple files, and all that
- piping: command line allows you to chain one command with another. You have a command to list all your music files, chain that with a search command to search files within them. Now if you need to search in a python code, you use the same search command, just different command to read the file. You basically have lego blocks (old ones) that can be used to make anything.
I can understand people being afraid of command line when they start, but I think many people come with biases and don’t use good terminal and other tools to make things easier.