• floofloof@lemmy.ca
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    1 year ago

    You don’t have to use a CLI to use a computer. What’s the benefit for most people? Why should they?

    • seitanic@lemmy.sdf.orgOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      3
      ·
      edit-2
      1 year ago

      I did it because it’s fun, but there are other reasons.

      1. It’s faster and easier than using a GUI. This is because you can type a lot faster than you can click-click-drag with a mouse.

      2. There are some programs that give useful information when run from a CL that they don’t give when run from a GUI. This can be helpful for troubleshooting.

      3. If you ever get stuck on a system that doesn’t have a GUI, you’ll still know what to do. I’ve had this happen when I had to SSH into servers that were running bare-bones Linux systems.

      4. If a particular GUI operation is bogging your system down, you can do it from the CLI using fewer resources. For example, sometimes my system will freeze up if I try to open a very large file, but a command-line app can do it without freezing. This admittedly doesn’t happen very often, but when it does, I’m happy to have that knowledge.

      5. You can get the CLI to do things that you don’t have a GUI app for. Having knowledge of the CLI gives you that flexibility.

      I’m sure there are other reasons, but those are just the ones I could come up with off the top of my head.

      To be honest, I got into the CLI because of aesthetics. I saw all of the terminal rices that people would post online, and I wanted to have that. The Windows CLI was always ugly and unfriendly, so I wanted nothing to do with it. I learned it because it looked cool, and it turned out to be useful as well.

      • whofearsthenight@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        1 year ago

        I’m going to have to interject on even on the first point. FWIW, I’m a person who vastly prefers to use a keyboard when possible, can totally live on a CLI only system, etc. Anyway:

        It’s faster and easier than using a GUI. This is because you can type a lot faster than you can click-click-drag with a mouse.

        This is just not true for the vast majority of people. Have you ever watched normies type?

        The other thing is that even with simple stuff like file operations normal users get lost with a GUI where it’s far easier to visualize what is actually happening. If they get a few basic mechanics (click+drag, right click, double click) that’s about all they have to remember to move files around. Compared to learning ls, cd, mv, cp, the directory tree, symbols like . and .. and so forth. Or perhaps my favorite example, quick name a valid tar command. On a GUI system like windows/Mac, they just need to remember they can do things to files by selecting them and right-clicking them. On a CLI only system, how the fuck are you supposed to get a regular user to remember that to compress a file, you type in tar to start with, much less remembering flags (my flavor of choice is usually -xvf.) How many people who regularly use linux even know wtf it’s called tar?

        And that’s even forgetting the things like the defaults often being much harder to recover from. In Mac/Windows (and I think even most distros, though I haven’t daily driven a gui linux in a while) deleting a file the default way is a safe operation and easily recoverable because by default the gui is designed to be more user-safe.

        Though I don’t think anyone will disagree with the fact that the CLI is an immensely powerful tool that a lot of us can’t do without, it has never been really designed in a way to be accessible to normal users, and I’d be willing to bet that if you were designing a CLI today in a vacuum, it wouldn’t look anything like the one we’re familiar with. It’s why I’d also guess that very few of us that use the command line all of the time don’t have a mile long list of aliases, scripts, switching to shells like zsh and things like zsh-autosuggestions or zsh-syntax-highlighting, colorls, a specific terminal emulator they use, and so on and so forth.