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)

  • dual_sport_dork 🐧🗡️@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    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.

  • Liam Mayfair@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 month ago

    IT guy here. The CLI is not something I’d expect the average computer user to use at all. However, for power users and professionals it’s a force multiplier at least, and a prerequisite often.

    There are several reasons for this. Firstly, IT system and server administration, in the cloud or your own hardware, is often done via the CLI. This is because it’s not that common or convenient to hook up every server in a rack to a monitor to click on stuff. But dialling into it remotely via SSH or even a serial port to perform bootstrapping procedures, troubleshooting and even routine management tasks sometimes, is very quick , easy and reliable.

    The other main reason is automation. If I buy 10 servers to power my website, they all need installing and configuring a whole bunch of software, e.g. an Apache web server, DNS, SQL, Active Directory, AV, firewall, networking, and a host of other services. Now imagine doing all of that by hand. You don’t even need to be a professional sysadmin installing server racks for a living for this to be important. Even if you run a couple desktop/servers/Raspberry Pi/NAS at home, they’ll need updating, upgrading or replacing every once in a while. Having to click your way through everything every time you need to (re)configure them gets old very quickly.

    GUIs are extremely poor at providing a consistent, predictable, automatable way to do things. They force you to do mostly everything manually and be present to supervise the whole thing. With the CLI you can script out pretty much any task and let it run in the background while you go do other things. I really don’t see CLIs going anywhere anytime soon. I’d say it’s actually the opposite. PowerShell was Microsoft’s way of acknowledging this very fact years ago. The primitive Windows Batch scripting language wasn’t cutting it for anyone, especially Windows Server users who had to painstakingly configure every Win Server install they did manually through a GUI wizard.

  • aubeynarf@lemmynsfw.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    yes, it’s the most natural and efficient way to do lots of things, and the only way to do some things.

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    Aside from what the others said, I think a big advantage for CLIs is also that they’re a lot quicker to develop and extend with functionality. So, while yes, there are GUI options for lots of tasks, if you need to do niche things, there is still a higher chance for there to be a CLI for that, or for a more general CLI to be feature-rich enough that it covers your niche use-case.

  • TootSweet@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 month ago

    You can take my terminal when you can pry it from my cold, dead, hands.

    Any one-liner you put together, you can re-run trivially. You can rerun it with modifications trivially. You can wrap it in a for loop that runs it with different parameters trivially. You can stick it in a file and make a reusable Bash script. It’s far easier to show someone else how you did it (just copy/paste the text of your terminal session) than dozens of screenshots of a point-and-click adventure (and not in a good way) GUI app. Bash commands are easier over SSH than GUI apps over RDP or VNC or whatever. You can’t script a GUI app.

    I seriously find myself wondering why someone would use a GUI for something they can do with a terminal. Learning curve is the only reason I can think of.

    I frequently find myself creating tools that let me do with a terminal what I formerly could only do with a GUI tool.

  • Nollij@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    It really depends on what you mean by “the real world”.

    The most common use for Linux is on servers. For this scenario, not only does the terminal make sense, but it’s often required as there is no GUI installed.

    For Linux on the desktop, the terminal is very much analogous to Windows PowerShell. More casual users can ignore it for most purposes, but may sometimes need it for troubleshooting.

    If you are trying to say that you “know” Linux, say for career development, you absolutely need to know the terminal. Nearly all professional roles will require it.

  • BCsven@lemmy.ca
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    I have to concatenate off reports for part of work duties. The GUI tools in Adobe or other PDF editors are slow.

    The solution was add Linux WSL2 in Windows. And use qpdf

    I can now just open the Linux terminal, type qpdf --pages File1.pdf 1-z File2.off 1-z (etc) – Outputfile.pdf

    It is instantly concatenated.

    And next report time its just grabbing command from history and editing file name or page numbers needed

  • medem@lemmy.wtf
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    A command line is WAY faster than using the mouse, provided you can type fast enough. A thing I’d like to add is that, to me, all those shiny pointy-clicky interfaces are little more than a distraction: they literally slow me down and prevent me from doing real work. Of course, this last bit is a very personal opinion and YMMV.

  • Jokulhlaups@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Depends on your work. If you manage headless remote servers or computers, terminal through SSH is kinda the only way to use the computer. There is a lot of software and algorithms or databases that don’t actually require a gui. Terminal comands are also great because they can be easily reused and further integrated and automated.

    • DrDystopia@lemy.lol
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      SSH in terminal and understanding the basic commands is a must for hobbyists as well, baby’s first VPS is what got me hooked.

  • SillySausage@lemmynsfw.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Here’s a task for you: how do you convert a folder with 5000 images from png to jpg, while ensuring that they are scaled to at most 1024x768 and have a semi transparent watermark on them?

    I know how to do it quickly using the command line, but have no idea how to do it with a GUI.

  • BartyDeCanter@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    While this feels like bait, I’m going to take it. Yes, there is a huge benefit to learning and using a terminal if you use a computer as a tool for creating and working instead of passively consuming entertainment. Organizing and searching files of any sort, building applications, writing without distraction, working with remote devices, and just generally using your computer as a tool instead of a fancy TV are all made easier, faster and more efficient if you can use a terminal. The unix philosophy gives you the ability to do things by stringing together a few commands that you might have to find a specialized program for, if it even exists in GUI land.

    That’s not to say the GUI’s aren’t great for a lot of things. They are! But they also lock you into doing things in a few predetermined ways rather than letting you develop the skills and techniques for exploring new spaces.

  • andie@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Aside from the automation, which has been mentioned already, I tend to seek out terminal based solutions and heavily use it over GUIs because:

    • my wrists tend to hurt after using a mouse for too long (mouse use is now limited mostly to browsing the web and spreadsheets)
    • lower resource footprint means I can do more with less hardware
  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Many things are way easier on the command line than they could ever be in a GUI. Especially for processes that need repeatability, e.g converting a whole directory of images in a certain way.