2
submitted 3 months ago* (last edited 3 months ago) by bridgeenjoyer@sh.itjust.works to c/linux@lemmy.world

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)

top 24 comments
sorted by: hot top controversial new old
[-] LiamMayfair@lemmy.sdf.org 3 points 3 months ago* (last edited 3 months 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.

[-] dual_sport_dork@lemmy.world 3 points 3 months 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.

[-] BCsven@lemmy.ca 3 points 3 months 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

[-] Ephera@lemmy.ml 3 points 3 months 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.

[-] ArsonButCute@lemmy.dbzer0.com 2 points 3 months ago

I already know what I want the computer to do: why do I have to search with my slow-ass eyes through what someone else decided was the optimum workflow to get the job done?

[-] knightly@pawb.social 2 points 3 months ago

Of course, some of the best single-purpose applications are command-line tools.

FFMPEG or YT-DLP for examples.

[-] aubeynarf@lemmynsfw.com 2 points 3 months ago

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

[-] bugwhisperer@lemmy.blahaj.zone 2 points 3 months 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
[-] medem@lemmy.wtf 2 points 3 months 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 2 points 3 months 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 1 points 3 months 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.

[-] TootSweet@lemmy.world 2 points 3 months ago* (last edited 3 months 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.

[-] TheDemonBuer@lemmy.world 1 points 3 months 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.

[-] aesthelete@lemmy.world 1 points 3 months ago* (last edited 3 months ago)

Unless we're in a simulation, very yes.

Normal people don't seem to realize this but the reason developers swarmed to Mac OS X over Windows when given a choice for work laptops is that Mac OS X has a built-in POSIX shell.

CLI is and will always be more expressive than a GUI. Some "web apps" have even tacitly acknowledged this by adding terminal emulators to their web apps.

[-] awful_neutral@mander.xyz 1 points 3 months ago

The terminal makes many functions easier and faster, it's more consistent across updates and changes, can be automated with scripts and is much easier for developers to implement into software than a GUI

There's a learning curve, but there are real practical reasons for someone to use it over GUI

[-] SillySausage@lemmynsfw.com 1 points 3 months 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.

[-] sunshine@lemmy.ml 1 points 3 months ago

I use the terminal because text errors are much easier to parse, research, and discuss than GUI error states.

also, it looks nicer than most GUIs, because of the great color schemes and CLI app designs that people make for us.

also I use the fish shell and emacs and I have a lot of custom scripts I've built over the years, so my user experience is a delight, and my automation capabilities are greater than they would be if I preferred GUI-based solutions.

[-] BartyDeCanter@lemmy.sdf.org 1 points 3 months 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.

[-] chloroken@lemmy.ml 1 points 3 months ago

Using the terminal doesn't make normal people feel superior, it is simply more efficient to type commands than click UIs.

[-] Treczoks@lemmy.world 1 points 3 months 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.

[-] tal@lemmy.today 1 points 3 months ago* (last edited 3 months ago)

I try to use terminal versions of programs whenever possible. It's a lot more pleasant to work on a system remotely in the terminal than using graphical programs, and generally automation is better. If you're accustomed to a workflow centered around the terminal, you can take advantage of those benefits.

I've worked on systems over X11, VNC, RDP, etc, but you're just generally going to have a better time using a remote Linux system, especially with any appreciable latency or limited bandwidth, over mosh or ssh.

I also get a lot of mileage out of the fact that I use terminal-only emacs for a lot of things, and it has packages to cover a lot of areas. Long learning curve there, though.

That being said, there are some categories of software where there aren't really competitive terminal alternatives. For most image-editing or Web browsing, I'd use a GUI program.

Most users also won't run into this, but for sysadmins in particular, having access to a system via a serial console even when nothing else is functional is not uncommon. If you don't know how to use a system via the terminal, you're going to have a harder time of it.

While it doesn't have to split along terminal/GUI likes, a lot of terminal software uses text files for configuration intended to be edited as such, and Unix has a long history of powerful tools to manipulate text. Store configuration in a git repository, migrate it to a new system, view and merge configuration changes, search through config, etc.

Also, the GUI has a tendency to be reinvented by people every few years as they hop on some new paradigm or similar. Maybe they decide that they want a unified UI for touchscreen and mouse


one such example that happened


or something like that. That can being benefits, but it also throws out a user's experience with an existing UI, which is really obnoxious. Linux is better about letting users continue to use their favored GUI interface than, say, Windows is ("Microsoft says you use Windows 11 UI, end of story"), but there's still some pressure. The terminal is a pretty mature environment. Yeah, okay, it's changed to some degree over time, but most of the experience I accrue continues to be pretty directly usable as time goes on. I think that the last significant change I made was switching from GNU screen to the pretty-similar tmux. I generally want UIs to be left alone by software developers unless they have a really good reason to change things.

Related to the above, I've also seen a lot of GUI widget toolkits come and go over the decades. From a maintenance standpoint, 30 year old terminal software generally is pretty much good to go, whereas some GUI toolkits are dead and the GTK and Qt people are constantly changing things and doing new major releases that substantially change things. As a developer, I don't really want to keep having maintenance inflicted on me by the UI guys.

So, in short, from a user standpoint:

  • Better remote operation.

  • Better automation.

  • Ability to use systems in a fairly-broken or limited state.

  • Fewer disruptive changes to UI over time.

[-] Nollij@sopuli.xyz 1 points 3 months 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.

[-] bagsy@lemmy.world 0 points 3 months ago

I cant tell if you are trolling or being serious. Either way, you can take my terminal when you pry it from my cold dead hands.

[-] DrDystopia@lemy.lol 1 points 3 months ago

Would you still love terminal if it was a worm?

this post was submitted on 06 Nov 2025
2 points (75.0% liked)

Linux

16227 readers
9 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 2 years ago
MODERATORS