A gui is helpful sometimes, but there’s a lot of cases where there’s no feasible way to make a good gui that does what the terminal can do.
Right tools for the right job.
For example, a gui to move a file from one folder to another is nice - drag and drop.
A gui that finds all files in a directory with a max depth of 2 but excludes logs and runs grep and on matching files extracts the second field of every line in the file? Please just let me write a one liner in bash
All because I have to work with win10 workstations and using a different, superior shortcut scheme would mess up my muscle memory. Remembering to use shutdown -s -f -t 0 instead of poweroff is difficult enough, and don't even get me started with the audacity to use curl as an alias for Invoke-WebRequest!
I have to confess. I had to look up the shortcut for terminal because I haven't interacted with a Linux desktop in years. I'm a Windows cuck, but not a total imposter bc I've kept a debian server running on my network for years. Whenever something breaks or I do an update (the updates are invariably the cause of the breakage) I manage her with ssh.
Few days ago I was in meeting with two friend, we did something for school, and my screen was shared. At one point I had to type something in Vim so I opened a terminal. They were shocked, confused and said something like "we aren't hackers" (and we are on IT department). More people should know about beauty of CLI.
Honestly, I like both. I use whichever provides the biggest productivity multiplier. For example, I can navigate around the filesystem and manipulate text files and code extremely quickly in the terminal. On the flip side, I like to use a gui which allows me to spread 6-12 terminal windows across my multiple displays.
My terminal is pretty, fancy, a nice to use. I'm not sure, you might be using the default LXDE terminal or something like that, but some people take the time to make their terminal enjoyable.
I can’t say I love the terminal, if there’s a GUI for a task I’ll use that but there comes a time in every troubleshooting session where the terminal is just the only way to do something reliably.
I’m not going to lie though, I forget commands constantly so have to search the most basic shit to type in.
Intellij: Has a modern GUI for Git with code cleanup, import optimization and visualization of changes.
Me: Open terminal, 'git commit -m "wrote code" && git push'. Then realize I forgot to add half of the files, so I make another commit. Then realize I forgot to cleanup bad indents, so I make another commit. Then realize my code doesn't even build, so I make another commit, etc.
The only Git GUI that I find actually lets me do the basics in a simple way is GitHub desktop. It allows me to quickly see a diff of the changes, select a few lines or a chunk or all the file, it manages stashes and conflicts for me which is like 98% of my usage. Otherwise I use gitui or the git cli for anything more complex than committing and switching/merging branches.
I’ve started using LazyGit recently and I love it. It runs in CLI and essentially just maps the git commands to keyboard shortcuts. Really easy to use and learn, definitely increased my productivity
That’s another nice thing about the CLI: Once you figure out how to do something making a script is usually as easy as getting the commands out of your history.
I’ve yet to see any GUI automation tool that’s as easy to use.
Don't forget us dyslexics though! Cli is rough on that, but gui tends to avoid the errors a typo can cause.
I swear, having to copy/paste stuff in terminal to avoid typing the damn commands five times is way less convenient.
I get it, Linux veterans love the terminal because it is efficient and capable. But there's multiple reasons for a gui interface for common tasks, accessibility being the biggest.
Me too. Every once in awhile I have to remind myself that it's not my fault that Lenovo decided to plaster a windows logo on that key. Realistically, that's everybody's key, and it was unfair of Microsoft to do that to us in the first place
Which is funny because I'm the other way around. I'll try doing something with the CLI but if it's like a calculation or something and I can't figure it out with awk, etc, I'll defer to a spreadsheet.
As a Linux user of 10 years, sometimes I don't touch the terminal for months, sometimes I use it every day, depends on what I'm doing. I haven't done a lot of programming this year so I haven't used the terminal a lot; but when playing with my microcontrollers and SBCs I use the terminal almost constantly.
One thing I will note is that I use the keyboard a lot more than I did when I daily drove Windows. I run my computer by muscle memory a lot more than I used to.
Shell is amazing for big, batch jobs or a complex thing done in one or two lines.
GUI is great for poking around at options, visualizing your files and file structure and making edits to one or two things at a time. There are a few batch tasks that work great, like the Batch Renamer in MATÉ DE. You get a preview of how your file will change before you apply it and can easily undo it if you fuck up.
A shell is great for things you know how to do well, or do often.
A GUI is good for things you don't do frequently, or don't know well.
The thing that keeps me choosing terminal tooling, though, is the ability to script. Everything a GUI can do, a CLI tool could. The inverse is not true. And many of the advantages of GUIs can be provided by a curses interface, so I find it just easier to stay in a terminal most of the time.
I feel like PowerShell is what happens when you give a business analyst a set of requirements, who then sends it to the dev team to implement, but then the CEO says that the requirements are dumb and it should be something different.
i never understood why people use different shells. i've tried them all but never have the need to swap back and forth especially not during the same day with the same workflow