One of my gripes with UNIX systems is how opaque they are
One of my gripes with UNIX systems is how opaque they are
Later on they would ship the Adobe red/blue/green PostScript books with OpenWindows.
Including the famous bug for tunefs which is still current in FreeBSD (talk about slack in addressing the real issues!):
"You can tune a file system, but you cannot tune a fish."
https://www.freebsd.org/cgi/man.cgi?query=tunefs&sektion=8#e...
I had to learn VMS in a hurry in the last two months of 1986. I had the full binder set on a shelf in my toilet (Cambridge, UK). You could not have put a VAX in there :)
Well of course not; that would be "tunefsh", which no one has gotten around to writing.
Discovering the cmdlets is not as trivial as it could be, because they are named verb-first instead of noun first. Get-<tab> is not as useful as NetAdapter-<tab> might be, but since things are named sensibly you can do a little guess work and use tab-completion to find what you're looking for in the vast majority of cases.
Irrelevant. Use
Get-Command *network #network anywhere in noun
gcm *-network* #network as first word in noun
PowerShell has it all, its just that people don't bother to learn it.But, experience is more important. Simply do everything in posh, even if there is a handy gui. After a few months you are closer to pro then with any books.
In my personal experience, powershell is fantastic for writing scripts and tooling, but not really so great for actual use as a shell. What makes a good shell is speed and 'muscle memory', imo.
Your 'simple' pipeline becomes hard core once you take into account all other things you require like grep, awk, sed, xargs, mount etc. Hack, even basic boolean stuff is from another dimension with executables like `[` or `true/false` (yeah, I know mostly builtin nowdays)
That's the whole point of unix. Non-integrated tools that talk to each other using plain text.
Just as you have to look at a text output of a unix command to figure out how to parse it and extract the subset of information you need from it, so do you have to look at the help metadata of a PS command to figure out how to extract the subset of information you need from its output.
The advantage of having objects instead of text is that if you thought you could parse the filename of grep matches by substring each line of `grep -H`'s output with `:`, you failed to account for filenames with colons. With PS's sls, its help metadata tells you it outputs `Microsoft.PowerShell.Commands.MatchInfo` objects, and the documentation for that type tells you it has a `Filename` property of type string.
One PS command is not "integrated" with another PS command; they're all integrated to .Net and a bunch of built-in PS types.
https://devblogs.microsoft.com/powershell/verb-noun-vs-noun-...
https://ilovepowershell.com/2013/08/05/microsoft-virtual-aca...
No, not really can you proof that in any way?
It was developed by the same core team that created Plan 9, and Limbo is the evolution of Alef, that Rob Pike wasn't happy to have to drop for Plan 9 3rd edition.
https://en.wikipedia.org/wiki/Alef_(programming_language)
> Alef appeared in the first and second editions of Plan 9, but was abandoned during development of the third edition.[1][2] Rob Pike later explained Alef's demise by pointing to its lack of automatic memory management, despite Pike's and other people's urging Winterbottom to add garbage collection to the language;[3]...
> The Limbo programming language can be considered a direct successor of Alef and is the most commonly used language in the Inferno operating system.
https://en.wikipedia.org/wiki/Inferno_(operating_system)
> Inferno was based on the experience gained with Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability.
For some strange reason many stop at the middle station, instead of going all the way to the end.
I have looked but failed to find a VM image or even images of installable media to build one online. If you know of any, I would like to know -- and if you don't know of any, but have the skills, I think you could do a big service to the OS research community by making and sharing either install media or a VM or both.
Ever heard of search engines?
For one, you can have sub-directories inside the bin directory. This lends to a nice hierarchy of commands and encourages writing small single purpose commands instead of large monolith commands. An example of this is the `ip/ping` command.
Another feature uses the union file system which prevents me from having to mess with $PATH locating commands.
apropos
Are 2 options
^^ also works fine ..
$ help
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list. (base) user@myMachine ~ % help
zsh: command not found: help