"Lack of standardisation is another issue; we don't live in a utopia where every operating system uses the same CLI. I, for one, have zero interest in learning a new CLI for every OS. It will take me quite some time to become as familiar with the intricacies of PowerShell for Windows as I am with Bash and its fellow tools."
This is actually partly true, there actually /is/ some (minor!) form of standardisation at work here. To be honest I'm a little disappointed that this wasn't noticed.
In Bash (or Ksh which is my favourite) or 'sh' (to save typing) you use ls to, well.. you know. However, modern Linux distributions also tend to honor the "dir" command.
In PowerShell ("PS") you tend to use 'dir' but it will also easily accept the usage of "ls".
Removing files? rm in sh obviously, PS also accepts this just like it allows "del" to be used.
Now; in the end these are all aliases, the syntax of PS is actually a /whole/ lot different than any CLI environment I'm familiar with.
But here is where the 2nd standardisation comes into play. When I'm at a loss on a *NIX commandline then I try to use the "man" command. This has helped me get up to speed on Solaris after not having used it for 6 years, it helped me get around HP/ux (iirc) a little.
Actually the command I used was "man man" because I needed to check up on how I could search for something, but you get the idea...
You may have guessed it by now but "man" is also an alias which is accepted by PS and it gives you the main help screen about the "Get-Help" command. PS will even happily accept "man man" which gets you into the same help screen.
SO yes; I concur that PowerShell is a /whole/ lot different than Bash on Linux or a Korn shell on Solaris. But I also think that by adding those *nix -like aliases Microsoft has actually honoured a form of standardisation by itself. Which IMO does them some credit.
Having a *nix background myself I have to say that I found PS relatively easy to find your way around in.