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)


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.