Whenever someone cries about the command line, I just post the link to Cookie clicker for the mousers out there
chad move tbh
That’s it, I need to hook up a controller to my PC so I can open Htop with a button press
Personally I just run gotop at startup and keep it on my second monitor. I know it’s a small waste of resources but I enjoy watching the blinkenlights.
If you’re on Xorg, you can also use xwinwrap to make gotop (or any other app) your wallpaper btw. Kinda useless on a tiling WM tho
Almost as painful as using vim on your phone without an external keyboard
I genuinely use vim inside of termux on a daily basis. I dunno if I’m sick in the head or what, but I kinda like vim on my phone.
Yeah I was gonna say that while it sounds completely unusable, it’s surprisingly not too bad actually. Some of the more complex shortcuts can get pretty tedious, but nothing that a good config can’t solve.
I remember once my friend’s laptop died, and while it was in RMA he was using his phone with an external keyboard and mouse to develop a webapp lol. Just goes to show that any computing device that can run a web browser and VIM covers 90% of your daily software needs haha.
btop could be pretty controller friendly
Just use a MIDI controller or an Arduino button box. You can do it!
What are you, a Tintin villain based on Greek stereotypes?
It’s is not either or. Also good cli require an eye for design just like gui. Lots of cli suck because there is no eye.
Yeah I totally agree. But still, I feel like there are much more terrible GUI programs out there than terrible CLI programs. The only truly awful CLIs I can think of is that tool for managing MegaRAID controllers that has the weird abbreviations everywhere, and shell interfaces to GUI-first bloatware like Dconf that were probably added as an afterthought. I think with CLI there’s only so many things that the developer can fuck up. It’s all just text. Meanwhile with GUI there are endless opportunities for truly horrid design. Think of Teams. Think of the github web interface. Think of the r*ddit redesign. Or go watch that Tantacrul video on Sibelius. CLI could never have such a breadth of terribleness.
i raise you the man command
Manpages are great though? They’re not the best if you need examples, but as a reference for the behavior of flags? I love’em.
Install tldr if you haven’t already
thanks for the reminder! I’ll try it out
Arch’s package manager is pretty terrible.
Here’s two commands. See if you can guess what they might do:
pacman -S package_name pacman -Syu
Solution
The first command installs a package.
The second command updates all packages.I believe, there’s some sort of logic to the letters, but man, most users seriously do not care. They just want to install, update and remove packages 99% of the time, so they shouldn’t need to learn that intricate logic for three commands.
I guess, you could usepkcon
to do that instead, but that doesn’t really help new users…AFAIK, arch never pretended to cater to new linux/cli users, I’ve always read it as a recommandation for advanced (or at least comfortable with reading docs and using CLI) users.
My first time using arch required me following the arch wiki for install and when I finally got a working system (I’m as bad at following tutorials as I am at following cooking recipes) thepacman
commands were not something I struggled with.
But yeah coming from Debian where I had the gloriously intuitiveapt
syntax, I get your point.Advanced users would still benefit from good design.
I do agree, I’m just not surprised it wasn’t done this way at the start and I’m not bothered enough by it to want a change.
Arch presumes that the user has some familiarity with CLI tools and can read documentation. You couldn’t even install it without using the terminal until archinstall became a thing. If it’s an issue, Arch is the wrong OS for you.
Besides:
pacman -S
- synchronises packages between the remote and local repo.pacman -Q
- queries the local repo.pacman -R
- removes packages.pacman -F
- queries the files of a package.
Et cetera.
I figured, I’d ruffle some feathers by saying that. 😅
But yeah, I stand by my point. Just because your target users are capable of dealing with complexity, doesn’t mean you should be making use of that rather than simplifying usability, since your users have plenty other things they could be learning instead.I will caveat that I can see it becoming worth it to learn an intricate logic for a power user, when things fall into place and make sense at a higher level as you learn more about it.
But in my experience, that’s just not the case with package managers. You need a few specific commands to be obvious and then the special cases can be obscure flags.
The good thing about CLIs is that if they suck too much, you can easily create a wrapper around them.
There is nothing productive about searching online for some stupid command that is outdated for 2 years, breaks some shit and then you need another 2 hours to unfuck it because it’s not obvious from the long noodle of a command how to revert it. For something that could just be 3 clicks through control panel that every idiot could navigate without having to use online search engine.
Most cli tools have a -h or a tldr entry.
I agree. For regular user facing tasks, the terminal should be a last resort. I say this as someone who will happily defer to the terminal if I need more advanced control. But when basic configuration is subject to just CLI, it’s not as accessible as it could or should be
There are two different “efficiency” and “simplicity” perspectives clashing here. If you already are proficient with the CLI it’s arguably more efficient and/or simple than GUI solutions. If you are not then there’s literally a steep learning cliff in front of you, something many in the first group apparently either forget or otherwise want to ignore. It just sucks, some people in the community do have a lot of knowledge but a complete lack of understanding for people outside of their tech bubble.
You’re the type of guy we’re making fun of btw
It’s not the own you think it is…
Why are you entering commands that you read about online without knowing what they do? There’s a running joke that you need to enter
rm -fr /
to remove the French language from your system; it actually wipes the entire disk mounted to/
.When you know what the commands do, using the terminal is always going to be faster (i.e., more productive) and use fewer system resources than using a GUI. That’s just a fact, sorry if it annoys you when people point it out. Whenever I need to move a lot of stuff around, I will always use
mv
instead of Thunar (my file manager) even though I prefer a GUI for most tasks.Go to a free online AI (or run one locally) and ask it your Linux questions.
That way you won’t have to dig around old forums for answers.
So, I wonder what happens if we add an option for every single one of those tasks in the UI? O right!
msvc.exe is calling!
I mean, the reverse is also true, people have memorized which buttons, menus, etc they need to click/drag with do be productive. Sometimes i m OK with all the clicking, but most times I just want to do the thing now.
Type 3 words or click through 9 context menus. 😅
Yeah exactly ANY interface made by humans speaks a design language, and it’s only “intuitive” insofar as the user understands that language. There’s nothing inherently “intuitive” about GUI, it’s a language that you’ve learned through a long process of trial and error. This is painfully obvious to anyone who’s ever had to help Grandma reset her gmail password out over the phone. Same for CLI. At first you’re copy-pasting commands from tutorials and struggling with man pages, but after a while you get used to the conventions. You learn that
-h
helps you out and--verbose
tells you more and so forth. You could make the case that the GUI design language is more intuitive because it’s based of physical objects like buttons and sliders that many people are familiar with, but honestly ever since we abandoned skeumorphic design that argument rings a little hollow.That’s a very nuanced analysis. I’ve explained it this way especially to people who describe themselves as “bad at computers”. Hey, give yourself a break, you’ve learned a lot about how to cope with windows. But this investment leads to a conservatism— they dont want to learn coping skills o a new system. The devil you know.
I’d just add that GUI is more discoverable. When faced with a terminal, what to do? Whereas with a GUI you have a menubar, some icons etc. The GUI gives a lot more hints.
In the terminal (which I love) it is more powerful once you know how to crack the lid.
Are the “Windows evangelists” in the room with us right now? Every Windows admin I know hates Microsoft with a burning rage. Literally the only people I’ve ever seen promote Windows are being paid to do it.
Counterintuitively, that’s one reason I like dealing with Windows: the community knows what it is and doesn’t pretend otherwise, like some other more “zealous” fan bases.
Literally the only people I’ve ever seen promote Windows are being paid to do it.
Yeah, that’s the demographic I had in mind. Lemmy is full of paid shills lol.
it’s Linux, who’s going to pay them Canonical? IBM? Wait, nvm, I could see IBM having paid shills
Do they have any money?
" i shouldn’t have to memorize commands"
the up arrow:
Up arrow about 400 times for that one command*
The commands: ls cp mv…
Meanwhile you get Windows people who memorize things like Get-AllUsersHereNowExtraLongJohn
Get-command -noun <string[]>
Handy AF
Versus:
man $commamd
PowerShell might be okay script syntax for people with uncorrected sight issues and the elderly who’s heart might not handle bash without
set -e
but to be useful as a CLI shell prompt that is your primary way of interacting with the computer like it can be on Linux it needs to be so so so much shorter. I’ll be dead by the time I type out half the shit it’d be like 4 key presses total on Linux.And that’s before you get to the issues of it being a whole object oriented and typed programming language with .NET whereas shell is nice universal text everywhere that can be piped around however you want.
There are even those absolute mad lads who unironically use PowerShell on Linux.
Learning the absolute basics of how to use tmux, vim, sed, awk and grep and pipes and redirects and the basics of handling stdin and stdout genuinely made me feel like all my life I was an NPC in the matrix and now I’m Neo just because passing around bits of text is so powerful when everything works on that basis.
PowerShell doesn’t stop on errors either by default. And of course a significant number of tools you need aren’t available in PowerShell, only cover partial functionality or are an exe you need to call so even if it did stop on error, doesn’t work for those tools by default.
It is still a shock to me that some genius aliased curl to
Invoke-WebRequest
and thatcurl.exe
is what you actually want.
Yea, when I switched to Linux, at first I installed PowerShell to get something familiar, but quickly realized that contrary to Windows, terminal on Linux is actually usable on it’s own out of the box.
Re: length of commands, PS commands are longer, but they also have tab completion so realistically you never type the whole thing, only enough to be unambiguous and press tab. I’ll grant it’s still longer than the equivalent bash, but not by as much as it appears.
Get-ListOfFunnyPowershellReferences++
(Seriously…
ExtraLongJohn
is damn funny)
See also: atuin - a shell history tool that records your shell history to sqlite.
Seamless sync across shell sessions & machines, E2EE + trivially self-hostable sync server, compatible with all major shells, interactive search, etc.
I’m the type to spend 10 minutes going through my previous commands, rather than 5 seconds typing it.
What about ctrl+r to reverse search?
I’ve got
h
aliased tohistory | grep
and it’s been revolutionaryAlternatively, ctrl+r
Just wait until they learn about ctrl-R haha
I’ve seen people not realize tab autocompletes.
I learned that tab=autocomplete when I first played minecraft in grade school haha. I just assumed that it was common knowledge but apparently not…
Oof, my back.
Holy shit
Wait until you learn about fzf - a replacement for ctrl-r that offers fuzzy search with a nice tui
I’m completely familiar with fzf!
I also generally tap in the first few letters of a command then use pgUp (on my system) to autocomplete. Or use the ol’ !<command#>.
But I have somehow never friggin heard about Ctrl+r.
“i shouldn’t have to memorise commands just to do basic tasks”
me:
The only thing worse than reading documentation/tutorials about how to do things in GUIs is writing documentation about how to do things in GUIs. It’s just screenshot after screenshot. And following it is like playing a ScummVM game, only less fun and lots more alt+tabbing.
If the GUI is good, then it’s self documenting.
I’ve got a new favorite quote: “I don’t need tutorials, I need verbose tooltips.” -Wonderbot
Screenshots? Look at Mr. Speedy Pants over here!
In my experience, half the time it’s a bloody YouTube video. Nothing says “fun” like having to seek back around in a video to find the next step without waiting 20 extra seconds because you already had to seek back and pause the video after it breezed past an overcomplicated and poorly explained step.
Unregistered hypercam 2 + notepad instructions + evanescence is an aesthetic tho
And the audio is text to speech because it was created by some 12-year-old neckbeard (is that a contradiction?) who is too embarrassed to use their voice on the video they made just to get likes and subscribers.
Or loud crappy generic music with notepad open for captions.
CLIs are almost always magnitudes more expressive than their feeble, derivative GUIs.
Fucking terminal, in many of them ctrl+c and ctrl+v don’t even work. and don’t get me started on how they implement ctrl+z. I’m waiting for a terminal to have the ms-office ribbon menu bar before I’ll use it.
For anyone having the copy-paste skill issue, try
Ctrl+Shift+C
andCtrl+Shift+V
.
meanwhile Windows users: let me drop into this random strangers discord who claims he will make my PC faster by dropping this .bat file that will run thousands of commands to “debloat” my install. also let me edit the registry and add random values to keys that I don’t know what they’re used for. this process is basically irreversible because I will inevitably forget which keys I’ve edited over time, wow windows is so simple and easy and intuitive 🤡
I actually used to make backups (Export) of each edited key and keep them in folders with context, so I could later look them up or even set them again in case of a reinstall.
Now, they are lying, forgotten, on some NTFS drive that I haven’t opened in years.
I wonder if registry keys can be set with an ansible script? Granted, that is still not as nice as a declarative config (yay NixOS), but better than having to write down and do by hand again on a new install
yeah,
reg set <key> <value>
i think it is
That’s not a windows problem, it’s a user problem. The same scenario could play out with a shell script that modifies a hundred dotfiles. Lots of solutions on Linux help forums are “Paste this into your terminal. Don’t forget the sudo!”
Amen. I remember having to frequently reinstall the system to keep it performant. Thanks windows rot.
I used to reinstall Windows once a year. Now with Debian stable I just fix the problem if there is any and that’s it.
The weirdest thing for me is when people complain about terminal when there is a meme how much easier it is to do something on Linux compared to windows or MacOS.
Terminal is the easiest way to highlight that for a meme.
If only windows and macos included a terminal…
Ofc they do. But most users don’t use it at all. Even most windows admins (based on my experience) don’t know PowerShell which doesn’t mean they know how to use CMD.
They must be some pretty shitty admins then. PowerShell is essential for managing more than a handful of windows boxes. If you’re running server core (which you should be in most cases) PowerShell and rsat are the only way to manage your boxes
Another example is Exchange where all Admin Center (GUI) operations are calling PS commands underneath. Not everything is in Admin Center so you must use PS eventually. Not to mention that you cannot perform batch tasks without scripting.
Another example is boot or login scripts that run on all the servers/desktops to make environment changes you can’t handle with group policy. This person is talking nonsense, they don’t know any windows admins.
I hate powershell so much
Why does it have to be so verbose
It is really weird, yeah. Half the commands are actual sentences. Tbf most of the common ones have shorter aliases (test-netconnection -> tnc, clear-itemproperty -> clp, get-content -> cat, etc).
The killer feature of PowerShell imo is the -WhatIf flag. I wish all shells had something like that, it’s fantastic for testing scripts without risk of damaging anything.
Noooo, you cannot have a consistent UI/UX experience across platforms with decades old commands and tools, my imaginary grandma might get confused, also you need three IT degrees to type “man command” into a term window.
“imaginary grandma” is a crazy form of grandparent-denying gaslighting and I will absolutely start using it
Tbf, most man files are not easy to understand. Between man, tldr, ArchWiki, and an occasional O’Reilly book I can usually get things done, but documentation on Linux still has a lot of room for improvement.
Other than stuff like
ffmpeg
- which has so many features that a man page just can’t cut it; andsed
- which doesn’t have a simple hyperlink saying “you go here to learn sed regexp”, most man pages do what I need them to do.You just need to learn the basics of how the man page is organised and what the brackets in the SYNOPSIS section mean and that makes using them much easier.
We also have
man man
for that purpose.
“man command”
This is why I hate linux, it appeals to the male fantasy !!!
I guess you never heard of the finger command.
I used to be on the yelling guys side and boy was I wrong. I now write scripts to do anything repetitive, all the time and it’s great. I have a whole library of them I use and add to and improve all the time.
Yeah, I was wrong.
It always makes me kind of sad when people disparage CLI use. It’s like people thinking they don’t need to actually learn anything because they can always look up what they need to know on their phone. It seems a shame to miss so much of the richness of the experience. I found myself arguing, promoting, whatever, terminal use a few times and then realized how pointless it is. It’s like arguing with someone about what food they like. You can just hope they develop a more sophisticated palate at some point, or at least become more open-minded, but you can’t force it on them.
This was a long way to get around to saying I like that you had that change of frame and are embracing the fun of personalizing your interactions with your computer.
Thanks! Yeah, for me it’s that I have a bad memory so memorizing argument orders and things like that felt painful. Scripting is the solution! And you learn while you do it. It’s actually kind of fun to make a solid script that works between various OSes as nerdy as that is. I’ve taken a lot of typing and memorization and turned it into writing (ideally solid) software that allows me to type 1-3 words instead of 20 words. It’s satisfying. And you’re right, it’s something people won’t get until they come to it on their own terms.
At work I routinely do laborious tasks the rest of my team procrastinates due to how repetitive and annoying it is. And often it’s with a command or two. It feels quite powerful. And it’s so flexible how you can combine languages and tools! It’s also just interesting to be reminded how all the basic problems were solved by the 1970s when a lot of these tools were created.