Hi, everybody Recently, a guy noticed that I was using it and asked why? For me it because in Linux many things are done through the terminal because Linux has many different desktop environments

He also compared terminal commands with cheat codes in GTA and other games, he understands what benefits you take from them, but not from terminal commands

  • Trent@lemmy.ml
    link
    fedilink
    arrow-up
    32
    ·
    1 year ago

    Command line is a lot more powerful for a lot of cases. Most CLI programs are written with the idea that the caller might be another program, so they tend to be easy to chain with pipes and redirection. So you have tons of simple tools that you can combine however you need.

  • www-gem@lemmy.ml
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Terminal is faster when you’re used to it and sometimes offer more customization options to some apps that has both a GUI and TUI/CLI version.

    I use the terminal (st with zsh and tmux) for:

    • file management (advcpmv, fd, trash-cli, fzf …)
    • emails (neomutt)
    • text editing/coding (neovim)
    • project management (taskjuggler)
    • image viewing/organization (ucolla,ge)
    • online video browsing (ytfzf)
    • calendar (khal)
    • ssh
    • vpn
    • news aggregator (newsboat)
    • web, bookmarks manager (buku)
    • passwords manager (pass)
    • dotfiles manager (stow)
    • not in the terminal but I also have a lot of scripts used in rofi to control my audio input/outputs, launch a web search, access my bookmarks, autocomplete username and password fields

    I’m sure I’m missing some obvious tools I use daily. It’s hard remember everything when it becomes so natural.

    I have shared my experience with some of these tools here.

  • lorty@lemmy.ml
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Because every IDE implementa a different git interface and I can’t be bothered to figure out where they hid the commit, push, pull etc. buttons this time.

    • azimir@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      When teaching programming classes it’s awful trying to figure out every IDE’s git interface that my students are using. Each IDE puts the buttons in very different layouts and they even change the names of the buttons because they don’t like the way git itself named operations. It’s untenable to know them all and actually be efficient and helpful as the instructor.

      Instead, I say they’re welcome to use the IDE, but the class materials use the canonical underlying command line tools and terminology. They just need to search for how to translate the real git interface to however their chosen tool does the same operation, but it’s up to them to figure it out.

      When they do ask for help, I bring up the terminal (usually even inside the IDE) and run the git commands just like we went over in class.

  • pixelscript@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    Here’s the ELI5 answer I’d give to your friend:

    Computers are like servants. They do whatever you ask of them. But to be able to ask them things, you must do so in their language. On the extreme low level that means writing code to make programs, but on a higher level, it means talking to programs someone else already wrote using special commands.

    The buttons and switches on a GUI that you can click on with a mouse are like pre-recorded commands that instruct the computer to do some specific thing. The button or whatever will have a symbol or text description that lets you intuitively know what it’s for, and when you click on it, it plays a pre-recorded command to the computer in its language that tells it to do that thing. With these buttons, you can ask things of the computer in its language without having to know that language.

    As you get more intimate with the computer, this system can start to feel a bit stiff. You’ve essentially got a butler who doesn’t speak your language, and any time you need to give him a task, you have to fumble through a basket of pre-recorded tape recorder messages to find the one for the task at hand, and play it to him. For more complex tasks, you may need to chain several of these together. It gets slow and awkward. And god forbid you don’t even have a tape recording for the thing you need.

    It’s easier if you learn the butler’s language yourself. Then you can ask him for things directly. You’re not bound to any collection of pre-recorded messages to use, you can tell him exactly what you need. And if you don’t happen to know the word for something, you can look it up. It cuts out all the faffery with fumbling over a tape recorder looking for the messages you need to play.

    Using a terminal is roughly the computer equivalent of speaking to your butler in his native language. You’re not limited to only the buttons and features any particular program lets you have; you can make up exactly what you need on the spot. And you never have to bounce your hand between a mouse and keyboard to do it, you can keep your hands in one position at all times, which really adds up over time in both speed and comfort.

    Practicing this will also give you the side perk of better understanding how the computer actually works overall, and what it’s actually doing. This knowledge can come in super handy when diagnosing problems with the thing. When a GUI gives up, a terminal can keep digging.

  • dreugeworst@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    Because you can’t (easily) program gui apps to automate tasks, but combining a few terminal programs to get more complex behaviour is really easy

  • pelya@lemmy.world
    link
    fedilink
    arrow-up
    12
    arrow-down
    3
    ·
    edit-2
    1 year ago

    To get shit done in general.

    If I need to rename a file, yeah, I can do that by right-clicking it in the file explorer, and selecting ‘rename’ from the menu. Two files? Painful but doable. Three files? Oh hell no, I’m switching to my always-open-in-background terminal window, and write a quick c=1; for f in *.jpeg; do mv "$f" $c.jpeg; c=`expr $c \+ 1` ; done and it takes twice less time than clicking things through with mouse.

    And yes, I wrote that shell command off the top of my head on the first try and without edits.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Just so you know, in emacs you can do mass rename of multiple files using dired-mode. Never use a for loop again.

      • pelya@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        1 year ago

        I’m sorry, I’m too old to learn emacs over my perfect knowledge of Midnight Commander.

        The point of this topic was to tell why we are using terminal, and emacs is kind of terminal on steroids, there are like 1000 key bindings and the mouse is totally optional, you are proving the point even further.

  • RedBauble@sh.itjust.works
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    I really despise the use of the mouse, in some way it just feels somewhat wrong, especially the need to constantly move one hand between the mouse and the keyboard. Also I’m way faster at typing that I am pointing and clicking around looking for the right button to press. Terminal commands offer a simple and expressive way to interact with the computer.

  • M500@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    It is quick. it does not need to load a bunch of things and in certain tasks, I can do multiple things at once.

    I also find it easier to navigate and edit files with tab to complete.

  • FractalsInfinite@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    Because Gui’s don’t show advanced options and so I know/understand exactly what is being done. (e.g. I would always use apt over mint’s package store so I could see what it did, how much time I had left, download multiple applications at once and see if the package made a random config file somewhere)

  • normalexit@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago
    1. Scripting is easier. Apps and commands can be composed together in simple repeatable scripts.
    2. looks cool.
    3. Remotely administer machines with the same interface and little lag.