Spyke

Does Terminal use actually make sense in the real 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)

View original on sh.itjust.works

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.

62

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.

37

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.

30

Absolutely!

First, terminal is, for the most part, distro- and DE-agnostic. Unless you use something specific to the distro or DE (like package management or working with DE dependencies), what would work on one Linux system would also work on the other. This allows you to immediately get a grasp of any Linux system.

Second, terminal is fast. You can search through GUI for all eternity, or you can type one line that does what you want, saving tons of time in the process.

With that said, both GUI and terminal should develop hand in hand to provide a user experience that suits both regular and power users alike. Windows commonly shifts to the side of regular user, while making it harder for power users to do what they want. Linux as it was in the old days shifted towards power users.

Nowadays, I think Linux finally strikes the right balance - it is accessible and powerful at the same time.

19
sh.itjust.works

Could you elaborate ?

I've always wanted to get into coding but what ive watched/read on something like godot or VBA was all clicking certain boxes in the gui and didnt interest me much. Are you saying like python and scripts ? That makes sense. I have no clue what programmers actually do since ive never been able to find something to apply it to

0

I wrote a program at work that gets deployed to hundreds of thousands of systems and is very hard to fully test or instrument. This program recently had a bug that was hard to track down. Using the command line, I connected to one of these boxes over ssh and ran a series of commands to detect the bug and dump details of what happened. Then, I took all those commands and turned them into a onliner that I could pass in over ssh, so I could get everything I needed for an individual maxhine. I then used xargs to run that command in parallel over every single one of the systems my code was running on and in the end, I was left with a nice directory of files whose name was the IP of an affected system, each filled with useful information. I started by manually running command over ssh, but the composable nature of the shell allowed me to transition that into a script in a matter of minutes.

I provided a more residential example of why I exclusively use the terminal for file management in a different top level comment.

4

Clicking? I spend most of my time typing. Even in Labview there's some typing to do. And godot requires a substantial amount of code to go with the gui side, it just has its own text editor.

But I mostly mod games these days, and I frequently need to understand the terminal api that's being used to gather and use resources because the vscode gui fails to get things set up on its own a lot. I use the terminal directly less these days. But I still interact with it daily. Heck, I even use terminal args in steam game launching to improve performance occasionally.

I mostly use the terminal for automation though. And ffmpeg.

2

And they have so many great GUI frontends on practically all platforms out there!

3

In Linux, GUIs are almost always a front end with limited options for a CLI. Also, with CLI you can chain commands to get even more control.

13
lemmy.world

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.

12

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

4
lemmy.wtf

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.

10
dandelionreply
lemmy.blahaj.zone

this, I hate using GUIs - they're slow and inconvenient in so many ways

also, terminal commands can be thrown in a script to easily automate or schedule tasks, unlike all that manual clicking in a GUI

2

Exactly. I always joke, even at work, that if I was a dictator, I would be a pretty eccentric one. Jailing political opponents? What a waste of time and energy. Repressing minorities? Couldn't care less. Curtailing women's rights? Nope. Centralising the economy and giving friends and family juicy government-backed contracts? Nah, that's not me. But I WOULD make EVERYONE work from the command line lest they're willing to die at the stake.

2
lemmy.ca

Pipes etc.

A GUI can't combine commands from several different programs and move data to and from and use that with the ease and explicit nature of a terminal.

10
frongtreply
lemmy.zip

GUIs can use pipes just fine. You tell it to write to a named pipe or similar device and the program on the other end will happily consume it.

-2
jj4211reply
lemmy.world

But only if the gui very specifically designs for it. With a cli you can generally wrangle arbitrary command into a pipeline.

2
frongtreply
lemmy.zip

No, if it implements any standard file I/O, it'll work. Write to a fifo and then consume it with the other application. Or write into the fifo from another application and read it with the GUI app.

-1
jj4211reply
lemmy.world

The point is that you can't "pipe GUI output to other command", the GUI would actually have to serialize things in a useful way and send to that fifo. Similarly you can't send stuff to it's stdin and expect it to do anything sane.

Further, since you can't seek() in a fifo, a lot of likely GUI applications involving files would break on trying to deal with a fifo. Also the typical GUI app on read doesn't assume a 'tail -f' like approach to arbitrary file inputs.

2

Yeah you can't run a one-line pipeline, but you can still pipe between applications. Just a little more asynchronously.

-1

Yea, but try to set this up in an easy way, or to process more than one file.

Bonus points if you can achieve this under Windows 😃

2

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.

10

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.

9
lemmy.dbzer0.com

You've got plenty of examples of how the command line is more than jus a "cool" way to do things. So I'll address a couple other issues.

On windows you are discouraged to use command line because that way windows gets more control over what you can do or can't do. Remember windows is not a neutral piece of software, it's a company's business model. On Linux there's no reason to impede using the command line, all the power to you.

(because let's be honest, it makes us feel superior)

I don't know if it's because of my autism, but this strike me as odd. Do people really think like this? I have a certain expertise, that's computers, and I can use a bunch of different tools to the best of my knowledge to do things. I choose command line or GUI depending on how easy the task is to do in each or the time it takes. Not everyone is trying to show off, it's just the best tool to use sometimes.

9

Ah I see, thanks for the explanation. So my autism is not to blame, I'm just out of the loop. I mean, yeah, it's always funny when you see in a movie they put a command line tool just to make it look like someone is a R34L |-|4c|<3r and they are just doing ls and cd but never really knew it was a thing in general too.

I guess I've earned a woosh in the OP's joke.

3

Yes, just making a joke, however when anyone sees me use Linux even for basic stuff they freak out that im hacking. So the cliche still stands strong.

Good point on windoze!

2

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

8

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?

7

My work and personal computers typically have two applications open—a web browser and a terminal (well, really a shitload of terminals). I don't have a desktop, I have a terminal. I don't have a graphical file manager, I have a terminal. I'm not doing this because it's cool, I do it because it's efficient as all fuck and makes it trivial to fire off one-liners to automate shit.

Like, I stream a certain video game competitively, and I need to keep recordings if I want to submit runs. I started off recording my gameplay using x264, and the file sizes were too damn big. I tested various av1 options out using ffmpeg on a small sample clip, and when I was done it was simplicity itself to just do this:

# I'm typing this on my phone so I'm not going to write out the ffmpeg args
for file in recordings/*.mp4; do ffmpeg "${some_args[@]}"; done

I didn't have to learn some stupid GUI batch processing thing. I didn't have to install any extra tools (since I already had ffmpeg). I just took my command, substituted the input and output files for variable names, and looped that shit.

I feel that the command line is the most efficient interface for a huge number of tasks. Discoverability is awful (although improved with good tab completion and just reading the fucking manual), but the efficiency and composability of a CLI built in the Unix tradition is hard to overstate imo.

6

Absolutely, I use PowerShell loads every single day.

Some things are easier or faster with a GUI and some things are easier or faster with a terminal.

5

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.

5

Sometimes it's easier to type cd ~/D{tab}/M{tab}{enter} open . than using the GUI.

Plus all the fancy stuff that people do with scripting

5

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.

5

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.

5

Yeah linux made me love computers again! Interacting more closely with the machine is so much better for me

3

Terminal is nice for a lot of repetitive tasks that would be a chore via GUI.

Even though I've been a Linux user for almost 20 years >!(fuck I feel old)!<, I mostly use GUI stuff. Terminal is super neat for doing batch stuff, I've even learned how to do some stuff for windows for whenever I inevitably get a call from family to fix their shit. I was pleasantly surprised with winget and I keep a .txt file to batch install common general use apps for them, same as I keep some dotfiles for getting my preferences over on a new PC or install.

5

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.

5
lemmy.world

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.

4

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

4

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
4

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.

3

Here's a repost of another comment I made not long ago of things you can do in the terminal:

Listen to music:

Read the news

Download Linux ISOs

Browse the interwebs

Listen to podcasts

And so, so much more!


As others have mentioned on the fly scripting is something I could never do without. Batch renaming with a quick loop, regex searches, parsing webpages, etc. It's so much faster than trying to find a program to do what I want, that probably won't do it exactly like I want.

3
piefed.social

So curiously I just did a post on realizing I could move some files around and realize it was quicker in the terminal. Basically I had a bunch of files in a folder and I needed to make some sub folders and move the files into them. The difference is not massive but its, to me, a bit easier in the terminal. mkdir "directoryname" instead of click new folder folder name. then like looking at a large amount of files with ls is sorta easier. ls -l resume then mv resume to ./jobs . In the gui I have to hunt around to multi select with shift and ctrl and pull them over. It likely does not sound easier but it is. terminal to is something that the more you use the easier it is doing things with it. Like using the mouse a lot does not make you quicker appreciably and moving or renaming or whatever but if you use the terminal more you do get appreciably faster. Im not even sure of the limit as I have never gotten that good but like I had a boss that could edit files so quickly in vi it was just nuts. since deleting lines is two keystrokes and repeating multiplines is even easier with no need to select. He was also crazy good with grep. Im going to make it a point of having the terminal up and think about using it before gui and then going to gui when I think it will be faster. Its kinda good for you when your in tech to. I hope to get back to my old better pace or better.

3

multi select with shift and control

There are cases where manually-selecting from a list of files to perform an operation on is desirable, but there are ways to do so in a terminal. Myself, I'd use dired on emacs: hit C-x d and select the directory in question, then tag the items you want (various tools to do this, but m will mark the current item) and then ! to invoke a specified command on all of them.

There are other terminal file managers out there including Orthodox File Manager-type programs like Midnight Commander and others like ranger. I don't use those, but I'm sure that they have similar "manually build set of files to perform operation on" functionality.

2
lemmy.ca

I have yet to find a gui that allows me to do the equivalent of running a find command with a regex to find specific files and run a set command to search and replace a string in one go.

3

On Windows, there are a bunch of search programs like Everything that can probably do the search. For search and replace, most text editors like Notepad++ can do that.

1

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.

3

On windows, sfc /scannow, dism /Online /Cleanup-Image /RestoreHealth, and dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase are pretty much required to prevent that mess from blowing up...

I've also had to use the command line to do some Exchange 365 stuff like forcing immediate archive population on 100% full inboxes whose users refused to delete any emails from...

3

I actually do navigate through folder structures typing letters even in a GUI, but the terminal is still way faster for experienced users. And - what's more important: knowledge acquired for the terminal stays valid for ages - in the linux world now, 30+ years. Whereas a GUI change can be catastrophic to a learned workflow.

1
lemmy.world

Cmd was torturous and powershell not much better.

Some things are just massively tedious to do through any gui. Sometimes the converse is true.

One reason why LLM is desired as a ui element is that you can describe what you want in text without having to remember how to navigate a bunch of convoluted ui elements. CLI is related, except more precise but more demanding on specifics of input.

3

It's certainly capable, and has a more structured pipeline structure saving you in theory from awkwardness of grep/awk sorts of 'processing' that may be out of whack. It also has a command model where whether you are calling cmdlets or .Net functions, it's lighter weight than a typical bash interaciton that has to fork/exec every little thing (and the ability to invoke .Net functions means a lot of capabilities that are normally not directly available to something like bash).

However, from a user experience, it's got a few things that can be a problem:

  • It's a bit too 'programmer-y', and particularly maybe a bit too perl-y. Some of the same criticisms of how perl can be a bit of a mess carry over to powershell.
  • It's ecosystem is mostly just whatever Microsoft gives to you. The *nix side of the house has had a diverse ecosystem, but Microsoft is largely on their own. Good hooks into most Microsoft products, but not a whole not of third party enablement.
  • Other shells have better and/or richer UX, like fish
1

Powershell is actually really good a manipulating large amounts of data and outputting it how you want, the trouble is the commands are too lengthy and convoluted to remember, so I have to check web sources. While Linux commands are simple and short.

1
discuss.tchncs.de

I know people who work in windows environments as developers or admins using power shell a lot. They can automate sooo many things through scripting. I work in IT too but this advanced scripting shit is still witchcraft to me. But this is real world usage which makes digital infrastructure management work a lot more efficient. Especially if you have repetitive tasks say on different machines. With GUI you would just be clicking through the same shit over and over again (while slowly loosing your mind).

3

Hey it's me! My job is basically spending hours per day writing automations in powershell. Our prod environment encompasses thousands of servers + separate windows server environments for testing and Dev.

3

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

3

GUI change but the command line lasts forever. The GUI will change from version to version for any program but if you have a script or CLI that will last.

2

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.

2

The GUIs are nice, sometimes, especially for visual things. (Selecting an image, color, etc.) The terminal remains extremely powerful though in that it's much closer to the object, as it were. If you want to, say, change a setting on your personal machine, as long as the GUI designer thought that option should be included in the GUI (because including every possible setting gets very large and unwieldy very quickly) you're fine. But if you want to adjust that setting on 5, 10, 100 machines, that 30 second trip to the settings app turns into lots of work. If you want to set a setting that the GUI designer didn't decide to include, you're stuck. If you want to have an explanation of what you are doing, or what that other setting might do, terminal has man pages. GUI might have tooltips or a crowdsourced explanation.

2

yes, it's faster. I use neovim and doom emacs so all my navigation is vim style. Therefore I absolutely hate using a mouse now and I find navigating a gui a chore. I mean like unzipping a file is easier, copy and pasting is easier, making a file, directory, whatever it's just faster via a terminal.

2

All day everyday. Why click through a GUI when I can slam out a command in 1/4 of the time to see what my resources or doing, or if something is acting weird. Watching logs tail in a terminal is always going to be faster and smoother than GUI as well. Debugging things as well.

2

It does. On Linux you can stick to graphical applications like you do on windows, it's just when people get on Linux they suddenly have the interest to try more things that they didn't try on windows. 90% of the time I'm using handbrake for videos conversions. Then there's the 10% of the time where command line ffmpeg because the functionality of the software is often greater than everything that the graphical interface has implemented or ever plans to implement.

This applies to windows too. General users usually don't need to go into PowerShell or a WSL shell but a lot of professional users will do so. Not just IT but people that process videos, images, a lot scientist, not just Matlab types, but people that got to do mapping stuff. You grab map files, terrain data - whatever - then you need to process it for another application. A lot of cases, good luck finding a GUI that hits your specific use case but some guy that had the same problem years ago got a one liner bash command, better chance for niche use cases in my opinion.

If you play games on Steam and you ever wanted to skip intro movies or a launcher and you Google for a solution and you get an answer that says to add something to the games launch options in Steam. That's pretty close to what people mostly do in a terminal.

Especially when on windows freeware is so frequently adware and/or abandoned last updated for windows 7 and it's a wildcsrd if that specific functionality that is really just ffmpeg or imagemagick in the background doing the work

Deleting a huge amount of files. You'll come across cases windows, Mac, Linux where the animations add a ton of time to the operation compared to just rm -rf 'ing a folder. Folder with a ton of files. Terminal searching for a file can be so much faster and responsive compared to GUI file explorer

Creating graphical interfaces is of critical importance for user applications for accessibility but plenty of times it's just way faster to do it in a terminal - same with Windows and Mac.

2

Used the terminal yesterday to search my piracy drive full of movies and shit in a directory structure, find any duplicate files by size/md5, and then it piped the results into my terminal editor of choice where I commented out the lines corresponding to files to delete, then it deleted them for me. Saved a couple hundred gb, and idk how to do it through a gui (besides the insurmountable task of clicking through all those folders.)

Not only that, but turned out I had a bunch of dups in my image folder too that I wasn't prepared to deal with right then, so in vim I just :/folder and n n n n repeatedly to get to the next relevant entries, made it even faster.

Took maybe 5min (not counting wait time, I ran it, made dinner, and came back and it was ready for me.)

Now, I'm going to peek at that forgotten picture folder in the GUI because I have NO idea what's going on there and it'll be helpful for me to get eyes on it instead of reading filenames, so I do use that too, for me it isn't all or nothing, it's both, some things are just better CLI and some are actually better GUI, and some can be either depending on how I feel today.

2

For me the most important aspects of terminal commands is that (1) you are forced to learn how your OS really works and (2) the terminal will always be able to do things that your GUI isn't programmed to do.

For example, I use brew commands to install brew packages on bazzite because there is no GUI frontend available. I also use it to start ollama LLMs on my machine even though there is a GUI frontend available, because I don't need a frontend for two commands.

2

Its a window into the actual internals of the machine. I would say yes, its one of hte many ways linux sets itself way from Windows. And its VERY lightweight. Some linux distros dont need it, some do.

Heck even MacOS has a terminal app. Just because

1

depends on what you want to do with your computer? If you want to deeply get into the internals of your computer, including writing your own software, then you'll probably have to touch the terminal at some point. If all you want to do is web browsing or photo editing or something, then you might never need it.

1

I rarely use powershell or cmd in Windows because they’re just terrible. I’m never sure how I’m supposed to do things with powershell. Documentation online rarely help me. I end up always installing WLS to have a decent experience (before WSL it was Cygwin, CMDer, Msys, etc.)

In Linux it’s so good I’m almost always having a few terminal windows open. I’m mostly using it for text processing. For example, check how often a specific keyword is used among 1GB of files. I can easily string a chain of commands together, and get a result within seconds.

1

It makes sense for scripting. You can build a process in a file to share among yourself and various devices or with friends to do a certain task on an automated basis.

Even on Windows this is useful to schedule a task in Task Scheduler.

Maybe every Monday, you want your computer to restart. A really quick and basic bash could be written to “shutdown /r /t 0” I can’t remember the exact command and then that file gets executed in Task Scheduler at the specific time you want.

There are other uses like having a file set to rename files. I do this often for my Plex server because I like a specific naming convention on multiple files and to do it quickly.

It’s nicer than GUI because everything can be laid out for you in a manual as to what you need as simple commands and much easier to guide someone because it’s not “click to the far right, no not the side of the screen, but slightly far right and then click this icon that looks like a pineapple but is actually a microphone and then click the icon…” Whereas a command line is just “type in shutdown and then enter y when prompted” and “these are all the available commands and what they do”.

I will say GUIs are nicer for hiding Easter eggs, but also a few devs seem to enjoy making useful features like Easter eggs where I am just now finding out that a button to the far left of the screen has existed and does this useful function. I don’t have that issue in command line tools that have even the most basic documentation.

1

I’m not sure how else I’d configure the servers and networking equipment I’d use, and I have no idea how I’d deal with Kubernetes cluster management without CLIs. I haven’t used Windows in ~15 years but going back to its GUI all the time? Fuck that.

1
lemmy.world

My mate installed Linux Mint the other week. (Yay) I don't know how Mint is different from Bazzite, or what file manager he is using, but I know enough terminal to show him how to mount his old hard drive and save some files from his windows partition.

1
ohshit604reply
sh.itjust.works

My mate installed Linux Mint the other week. (Yay) I don't know how Mint is different from Bazzite

Bazzite is Fedora based whereas Linux Mint is Debian based, BASH is a pretty universal language so most commands will be interchangeable however, you two have entirely different package managers so installing software will be different.

Also Bazzite is immutable so if I’m not mistaken changes to system files like /etc/bash.bashrc will not persist for you upon updates whereas on Linux Mint it will always remain the same regardless of updates, this may not be the greatest example because when I upgraded from Debian 12 to 13 I was asked if I wanted to keep the file the same or if I wanted to use the package maintainers version, but I think I got the idea across.

1

Bazzite is not perfect, (I might even switch back to EndevourOS if/when I'm bored of my gaming phase) but right now, all but 1 of my steam games are launching, and my GOG games are all working first try with Heroic.

1

I don't use the terminal often (outside my job where I'm using git commands or launching code) but when I use it it's generally for things that are almost impossible with gui. Troubleshooting network issues or boot issues or searching for files. Fuck, sometimes I can't even get to a folder I know is on my computer without a terminal.

1

When I would develop on windows I used the terminal a lot and it's not really changing. Guis are great for something's but when you're working with things that have to run without a gui, there's just no substitute to a terminal. I'm not using a terminal cause it makes me feel cool. It's just the only tool for some jobs. Not because a GUI hasn't been made, but because a purpose made GUI for the task would be a waste of time and not as good.

1

On Windows, I used to install stuff using winget install whatever.

Waiting for the MS Store to load was a freaking anxiety needle injected into my veins. Unacceptable.

Bazaar on the other hand, it's glorious. Blazing fast. So, I go with a GUI.

Also, there are tools like pandoc, ghostscript, caddy, imagemagick, and a gazillion others that are very powerful and quicker to do their job than waiting for a GUI to load.

And then, sometimes, there's just no other way. Maybe it's part of installing or updating something, or stuff like that. But a casual will either wait for a GUI, or just not do that.

I don't think using the terminal is aspirational, it's practical and it's value is clear.

1