Powershells commands are “Verb-Noun” and it makes it easy to search for the command you need. For example Get-Help Get-* will give you a list of all the “Get” commands and a brief description of what they do. Get-Verb will list the approved verbs so you know what verbs to search for. All within the shell. If there’s anything like that in bash I haven’t found it. I always have to search the web to figure out what I’m trying to do with it. Which can be annoying if I’m working directly on a headless system. Powershell also has aliases built in for bash and cmd commands so you can use those if you’re familiar with them. I hate Microsoft but it’s one thing I have to give hand to them.
That’s not to say bash is bad. It’s great. It’s just not nearly as intuitive.
Tab completion isn’t really what I’m talking about here. Powershell’s intuitiveness comes from the ease of finding the command you need. For instance if you type “copy” into bash and hit tab you’re not going to get anything. That’s because the command for copying a file in bash is “cp”. Now, how do you find that out using only the shell? You can use apropos, but who’s going to be able to figure that out without a web search? I had to try several variations of “find commands in bash” just now to get Google to mention it. Most things in bash are like this, there’s no real naming convention and most of the time the names are pretty meaningless by themselves. It’s a big barrier for people who are new to it or only use it sporadically.
Conversely, typing “copy” into powershell and hitting tab you will get a number of options which shouldn’t take much for a beginner to locate copy-item from there or you can find it via the previous methods I mentioned.
I genuinely think you may just be more familiar with PS. I use “Get-Printer” all the time, but it’s not like I was able to discover that command or syntax without web searches. Same with “cp” in bash. I had to learn it and use it, but I’m never going to forget it now. Something that seems inconsistent/unintuitive to me in PS, is some commands specify an object with:
-Name ="the name"
Other times it’s like:
Name "the name"
I keep a notebook handy for things that I use as frequently as several times a week.
mfs will learn powershell to debloat windows 11 and wade through regedit but the intuitive linux terminal is STILL too goddamn scary
Which one is that? Powershell is way more intuitive than bash and I like bash.
bash is more intuive than pwsh imo.
Is it? I find them both equally unintuitive tbh. You really just have to memorize the commands you frequently use, or keep looking them up.
Powershells commands are “Verb-Noun” and it makes it easy to search for the command you need. For example Get-Help Get-* will give you a list of all the “Get” commands and a brief description of what they do. Get-Verb will list the approved verbs so you know what verbs to search for. All within the shell. If there’s anything like that in bash I haven’t found it. I always have to search the web to figure out what I’m trying to do with it. Which can be annoying if I’m working directly on a headless system. Powershell also has aliases built in for bash and cmd commands so you can use those if you’re familiar with them. I hate Microsoft but it’s one thing I have to give hand to them.
That’s not to say bash is bad. It’s great. It’s just not nearly as intuitive.
In bash if you type the verb, then hit tab it will list the possible options, right? Is that not the same kind of thing?
Tab completion isn’t really what I’m talking about here. Powershell’s intuitiveness comes from the ease of finding the command you need. For instance if you type “copy” into bash and hit tab you’re not going to get anything. That’s because the command for copying a file in bash is “cp”. Now, how do you find that out using only the shell? You can use apropos, but who’s going to be able to figure that out without a web search? I had to try several variations of “find commands in bash” just now to get Google to mention it. Most things in bash are like this, there’s no real naming convention and most of the time the names are pretty meaningless by themselves. It’s a big barrier for people who are new to it or only use it sporadically.
Conversely, typing “copy” into powershell and hitting tab you will get a number of options which shouldn’t take much for a beginner to locate copy-item from there or you can find it via the previous methods I mentioned.
I genuinely think you may just be more familiar with PS. I use “Get-Printer” all the time, but it’s not like I was able to discover that command or syntax without web searches. Same with “cp” in bash. I had to learn it and use it, but I’m never going to forget it now. Something that seems inconsistent/unintuitive to me in PS, is some commands specify an object with:
-Name ="the name"Other times it’s like:
Name "the name"I keep a notebook handy for things that I use as frequently as several times a week.
Powershell is just json with jq abilities
But it is intuitive. There’s no arguing that.