this post was submitted on 23 Aug 2024
108 points (97.4% liked)

Linux

48256 readers
858 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
108
submitted 2 months ago* (last edited 2 months ago) by klep@lemmy.ml to c/linux@lemmy.ml
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] EuroNutellaMan@lemmy.world 1 points 2 months ago (1 children)

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.

[–] teawrecks@sopuli.xyz 1 points 2 months ago* (last edited 2 months ago)

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.

  1. 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 the best 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).

  2. 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.