I know we all enjoy being nerds and using commands (H4ckerman). But now that everything is either a gui or web based, is there really any use to terminal commands?

For example, on windows I never used powershell or cmd hardly ever. I realize now I probably could have. But Linux just drives me to use it more, which i like anyway (because let’s be honest, it makes us feel superior)

  • Willdrick@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    30 days ago

    Terminal is nice for a lot of repetitive tasks that would be a chore via GUI.

    Even though I’ve been a Linux user for almost 20 years >!(fuck I feel old)!<, I mostly use GUI stuff. Terminal is super neat for doing batch stuff, I’ve even learned how to do some stuff for windows for whenever I inevitably get a call from family to fix their shit. I was pleasantly surprised with winget and I keep a .txt file to batch install common general use apps for them, same as I keep some dotfiles for getting my preferences over on a new PC or install.

  • TheDemonBuer@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    1 month ago

    I fixed a family member’s Windows PC once. Stuck in an update boot loop. Had to rebuild the bootloader to fix it. It took ten minutes once I looked up the commands online. He had already taken it to a PC repair shop and they said all they could do was reinstall the operating system. Honestly, these Windows people are like handicapped because they never really interact with their computers. They only interact with a kind of software nanny that keeps them away from the scary stuff for their own good.

    I love my terminal.

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        29 days ago

        I actually do navigate through folder structures typing letters even in a GUI, but the terminal is still way faster for experienced users. And - what’s more important: knowledge acquired for the terminal stays valid for ages - in the linux world now, 30+ years. Whereas a GUI change can be catastrophic to a learned workflow.

  • jj4211@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    29 days ago

    Cmd was torturous and powershell not much better.

    Some things are just massively tedious to do through any gui. Sometimes the converse is true.

    One reason why LLM is desired as a ui element is that you can describe what you want in text without having to remember how to navigate a bunch of convoluted ui elements. CLI is related, except more precise but more demanding on specifics of input.

      • jj4211@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        29 days ago

        It’s certainly capable, and has a more structured pipeline structure saving you in theory from awkwardness of grep/awk sorts of ‘processing’ that may be out of whack. It also has a command model where whether you are calling cmdlets or .Net functions, it’s lighter weight than a typical bash interaciton that has to fork/exec every little thing (and the ability to invoke .Net functions means a lot of capabilities that are normally not directly available to something like bash).

        However, from a user experience, it’s got a few things that can be a problem:

        • It’s a bit too ‘programmer-y’, and particularly maybe a bit too perl-y. Some of the same criticisms of how perl can be a bit of a mess carry over to powershell.
        • It’s ecosystem is mostly just whatever Microsoft gives to you. The *nix side of the house has had a diverse ecosystem, but Microsoft is largely on their own. Good hooks into most Microsoft products, but not a whole not of third party enablement.
        • Other shells have better and/or richer UX, like fish
    • BCsven@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      28 days ago

      Powershell is actually really good a manipulating large amounts of data and outputting it how you want, the trouble is the commands are too lengthy and convoluted to remember, so I have to check web sources. While Linux commands are simple and short.

  • masterofn001@lemmy.ca
    link
    fedilink
    English
    arrow-up
    10
    ·
    30 days ago

    Pipes etc.

    A GUI can’t combine commands from several different programs and move data to and from and use that with the ease and explicit nature of a terminal.

    • frongt@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      3
      ·
      30 days ago

      GUIs can use pipes just fine. You tell it to write to a named pipe or similar device and the program on the other end will happily consume it.

      • jj4211@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        29 days ago

        But only if the gui very specifically designs for it. With a cli you can generally wrangle arbitrary command into a pipeline.

        • frongt@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          2
          ·
          29 days ago

          No, if it implements any standard file I/O, it’ll work. Write to a fifo and then consume it with the other application. Or write into the fifo from another application and read it with the GUI app.

          • jj4211@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            29 days ago

            The point is that you can’t “pipe GUI output to other command”, the GUI would actually have to serialize things in a useful way and send to that fifo. Similarly you can’t send stuff to it’s stdin and expect it to do anything sane.

            Further, since you can’t seek() in a fifo, a lot of likely GUI applications involving files would break on trying to deal with a fifo. Also the typical GUI app on read doesn’t assume a ‘tail -f’ like approach to arbitrary file inputs.

            • frongt@lemmy.zip
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              2
              ·
              29 days ago

              Yeah you can’t run a one-line pipeline, but you can still pipe between applications. Just a little more asynchronously.

      • Treczoks@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        29 days ago

        Yea, but try to set this up in an easy way, or to process more than one file.

        Bonus points if you can achieve this under Windows 😃

  • warmaster@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    30 days ago

    On Windows, I used to install stuff using winget install whatever.

    Waiting for the MS Store to load was a freaking anxiety needle injected into my veins. Unacceptable.

    Bazaar on the other hand, it’s glorious. Blazing fast. So, I go with a GUI.

    Also, there are tools like pandoc, ghostscript, caddy, imagemagick, and a gazillion others that are very powerful and quicker to do their job than waiting for a GUI to load.

    And then, sometimes, there’s just no other way. Maybe it’s part of installing or updating something, or stuff like that. But a casual will either wait for a GUI, or just not do that.

    I don’t think using the terminal is aspirational, it’s practical and it’s value is clear.

  • MagicShel@lemmy.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    I don’t use the terminal often (outside my job where I’m using git commands or launching code) but when I use it it’s generally for things that are almost impossible with gui. Troubleshooting network issues or boot issues or searching for files. Fuck, sometimes I can’t even get to a folder I know is on my computer without a terminal.

  • network_switch@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    It does. On Linux you can stick to graphical applications like you do on windows, it’s just when people get on Linux they suddenly have the interest to try more things that they didn’t try on windows. 90% of the time I’m using handbrake for videos conversions. Then there’s the 10% of the time where command line ffmpeg because the functionality of the software is often greater than everything that the graphical interface has implemented or ever plans to implement.

    This applies to windows too. General users usually don’t need to go into PowerShell or a WSL shell but a lot of professional users will do so. Not just IT but people that process videos, images, a lot scientist, not just Matlab types, but people that got to do mapping stuff. You grab map files, terrain data - whatever - then you need to process it for another application. A lot of cases, good luck finding a GUI that hits your specific use case but some guy that had the same problem years ago got a one liner bash command, better chance for niche use cases in my opinion.

    If you play games on Steam and you ever wanted to skip intro movies or a launcher and you Google for a solution and you get an answer that says to add something to the games launch options in Steam. That’s pretty close to what people mostly do in a terminal.

    Especially when on windows freeware is so frequently adware and/or abandoned last updated for windows 7 and it’s a wildcsrd if that specific functionality that is really just ffmpeg or imagemagick in the background doing the work

    Deleting a huge amount of files. You’ll come across cases windows, Mac, Linux where the animations add a ton of time to the operation compared to just rm -rf 'ing a folder. Folder with a ton of files. Terminal searching for a file can be so much faster and responsive compared to GUI file explorer

    Creating graphical interfaces is of critical importance for user applications for accessibility but plenty of times it’s just way faster to do it in a terminal - same with Windows and Mac.

  • mesa@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    Its a window into the actual internals of the machine. I would say yes, its one of hte many ways linux sets itself way from Windows. And its VERY lightweight. Some linux distros dont need it, some do.

    Heck even MacOS has a terminal app. Just because

    • bridgeenjoyer@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      29 days ago

      Could you elaborate ?

      I’ve always wanted to get into coding but what ive watched/read on something like godot or VBA was all clicking certain boxes in the gui and didnt interest me much. Are you saying like python and scripts ? That makes sense. I have no clue what programmers actually do since ive never been able to find something to apply it to

      • Poik@pawb.social
        link
        fedilink
        English
        arrow-up
        2
        ·
        28 days ago

        Clicking? I spend most of my time typing. Even in Labview there’s some typing to do. And godot requires a substantial amount of code to go with the gui side, it just has its own text editor.

        But I mostly mod games these days, and I frequently need to understand the terminal api that’s being used to gather and use resources because the vscode gui fails to get things set up on its own a lot. I use the terminal directly less these days. But I still interact with it daily. Heck, I even use terminal args in steam game launching to improve performance occasionally.

        I mostly use the terminal for automation though. And ffmpeg.

      • Badabinski@kbin.earth
        link
        fedilink
        arrow-up
        4
        ·
        29 days ago

        I wrote a program at work that gets deployed to hundreds of thousands of systems and is very hard to fully test or instrument. This program recently had a bug that was hard to track down. Using the command line, I connected to one of these boxes over ssh and ran a series of commands to detect the bug and dump details of what happened. Then, I took all those commands and turned them into a onliner that I could pass in over ssh, so I could get everything I needed for an individual maxhine. I then used xargs to run that command in parallel over every single one of the systems my code was running on and in the end, I was left with a nice directory of files whose name was the IP of an affected system, each filled with useful information. I started by manually running command over ssh, but the composable nature of the shell allowed me to transition that into a script in a matter of minutes.

        I provided a more residential example of why I exclusively use the terminal for file management in a different top level comment.

  • HubertManne@piefed.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    So curiously I just did a post on realizing I could move some files around and realize it was quicker in the terminal. Basically I had a bunch of files in a folder and I needed to make some sub folders and move the files into them. The difference is not massive but its, to me, a bit easier in the terminal. mkdir “directoryname” instead of click new folder folder name. then like looking at a large amount of files with ls is sorta easier. ls -l resume then mv resume to ./jobs . In the gui I have to hunt around to multi select with shift and ctrl and pull them over. It likely does not sound easier but it is. terminal to is something that the more you use the easier it is doing things with it. Like using the mouse a lot does not make you quicker appreciably and moving or renaming or whatever but if you use the terminal more you do get appreciably faster. Im not even sure of the limit as I have never gotten that good but like I had a boss that could edit files so quickly in vi it was just nuts. since deleting lines is two keystrokes and repeating multiplines is even easier with no need to select. He was also crazy good with grep. Im going to make it a point of having the terminal up and think about using it before gui and then going to gui when I think it will be faster. Its kinda good for you when your in tech to. I hope to get back to my old better pace or better.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 month ago

      multi select with shift and control

      There are cases where manually-selecting from a list of files to perform an operation on is desirable, but there are ways to do so in a terminal. Myself, I’d use dired on emacs: hit C-x d and select the directory in question, then tag the items you want (various tools to do this, but m will mark the current item) and then ! to invoke a specified command on all of them.

      There are other terminal file managers out there including Orthodox File Manager-type programs like Midnight Commander and others like ranger. I don’t use those, but I’m sure that they have similar “manually build set of files to perform operation on” functionality.

  • dual_sport_dork 🐧🗡️@lemmy.world
    link
    fedilink
    English
    arrow-up
    60
    ·
    1 month ago

    Even outside of scripting and so forth, which I use a lot, often it’s far easier and faster to just cook up a wildcard string or a regex or whatever when you’re faced with a folder with eleventy bazillion files in it, only some of which you’d like to move somewhere else.

    Yes, you could point-and-click on all of those for the next hour and a half plucking them all out of your file browser window. Me personally, I’d really rather not.

    Other similar use cases abound.