Hey everyone, I’m relatively new to linux and was looking for some advice/direction. I have been using Mint Debian Edition for around 6mo or so, and want to learn to use the command line efficiently and proficiently.
I have set up EndeavourOS on a backup laptop I have and have been playing with it, reading the Arch Wiki and such, but I feel like I’m not necessarily learning why I’m doing things, just doing what has worked for others.
So here I am. I guess I’m looking for recommendations for books or articles (physical or online) that can help me to learn and understand the workings on linux, and especially the command line.
Thank you all so much.
Terminals are only limited in tasks that require graphics content, what a shocker.
For all other cases they’re vastly more powerful than any GUI can be, because no developer can (or should, it’s unrealistic to ask them to do this) match the amount of complex operations terminal commands can reach with one string or script. With GUIs you also have to deal with different sets and toolkits, like GTK, Qt, etc etc.
There’s use-cases where GUIs work better and cases where terminals work better and which ones belong where also depends on the user, but saying terminals are more limited than GUIs and bad is flat out wrong and dishonest.
I think you and I are using two different definitions of the word “powerful”, or are at least applying them to subtly different aspects of the discussion.
I don’t know if you are familiar with basic finite automata theory, but a Finite State Machine is provably less “powerful” than a Turing Machine. This is the definition of “power” that I’m using, “power” as in “expressiveness”. i.e. The fact that you can literally create a terminal as a sub-element within a GUI if you wanted means that a GUI is provably more “powerful” (or more expressive) than a TUI. And thus a very good GUI for a tool will always be better than the best TUI for the same tool. (Comparing the worst GUI vs the best TUI is a waste of time).
But you’re using the definition of “powerful” as in a “powerful programming language”. This is a common use of the term, but is much more fuzzy and harder to quantify. It’s no longer synonymous with “expressiveness”. Generally a language is “powerful” if you can get “a lot done” with relatively few characters or operations. Ex. Python is often considered more “powerful” than C because you can do in a single line what would take dozens or hundreds of lines in C. Similarly, you’re saying that a developer can make a comprehensive TUI using less time and effort than it would take for them to make a GUI that’s at least as good (including integration with other tools afforded by pipes and redirects).
And I agree with you. But hopefully you also agree with me that a GUI is objectively more “expressive” than a TUI, and in that sense has a higher ceiling for how useful it can be to a user.