The secret weapon of Bash power users
opensource.net
opensource.net
The usual reaction is :mindblown: :)
No longer do I need obscure abbreviated aliases for my common commands
I just type ctrl-r and enough characters of the command I need until the one I need bubbles up
But honestly, one of the *worst* things about Macs is that Command and Control are separate, and there are no good keys to remap them to (there is only one Caps Lock), so you have to contort your fingers for an oft used combination.
And when you have multiple similar commands in your history that only differ somewhere in the middle, you don't want completion, you want searching.
aws codeartifact login --tool pip ...
and aws codeartifact login --tool npm ...
I can simply do "C-r pip" to get to the first and "C-r npm" to get to the second (or cycle through any other matches, or if I frequently had a few, maybe do "C-r tool npm"): your suggestion sounds much worse in comparison.Those commands are so deeply wired in my brain (from contionuous use since the 70s) that I dodn't even notice when a program supports them -- it's when a program doesn't that I notice.
You can also use
set -o vi
in your bashrc to enable it. I've used it for probably ~18 years now.It also works with https://www.oilshell.org/ since we use GNU readline. Just 'set -o vi' in ~/.config/oils/oshrc
I always use a memory disk inserted with mdsetimage. Only some small edits to kernel configuration files.
https://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/sys/arc...
I always boot from USB stick where possible. On RPi I boot from SD card.
I make custom userlands for the memory disk using crunchgen and makefs. Often I'll add a static tinysshd.
In the beginning, many years ago, I learned how to "bootstrap" a "diskless" system comprising what I need day-to-day in a userland without having to compile anything. Never seen this approach in any published tutorial. Basically, I used an INSTALL kernel and substituted the /rescue crunched binary for the limited "install" one.
I will either put a "complete" userland, i.e., with compiler, etc., e.g., as a cloop2 compressed image file on the USB stick, then mount it after boot, or I will chroot to an external drive containing a complete userland.
Where possible I rely solely on the computer's RAM as writable "disk" space.
There is never any data stored on the USB stick or SD card other than configuration files. The OS is read-only, immutable. The stick or card can be removed after boot.
Would be great to have a customized Unix that boots just as quickly as e.g. FreeDOS on 10+ year old hardware (in something like two seconds).
Thanks again for sharing your setup!
I may be wrong on this as I have not kept up, but in the past the Linux kernel did not support the multiboot protocol. Whereas NetBSD kernel supports it. For example, I have booted NetBSD kernels using a FreeBSD bootloader. I wanted to be able to boot either NetBSD or FreedBSD kernels from the same USB stick. I liked to put multiple NetBSD kernels on the same stick and wondered about other OS kernels. This was before the container craze.
I think Linux will always be able to boot significantly faster. Although I have never considered NetBSD to boot "slowly". I think using NetBSD is really a matter of personal taste. "Advantages" are subjective. It does have _differences_ when compared to Linux. A coherent userland is obviously one. There are of course fewer cooks in the kitchen. And it is easier to track its development. There is sometimes interesting work like RUMP that was IMHO ahead of its time. There is the notion of "off by default", i.e., the project generally does not assume that the user wants or does not want something enabled/installed. (At least not traditionally.) It is up to the user to prepare and configure their own system. A benefit of this is that it can sometimes help with learning how NetBSD works. IME, Linux is generally quite different. Convenience is always a focus. Assumptions about users' wants and needs are the norm. Learning is generally not a goal.
Linux is obviously a very, very large community. NetBSD is relatively small.
When I look at the pre-packaged options for building custom Linux kernels and userlands, e.g., Buildroot, Yocto, etc., they seem far more complicated to me than using the NetBSD source tree. But I am probably biased.
set -o vi
in your .bashrc or .profile
It’s like being a valet and not being able to operate a manual transmission
While it’s possible to correctly secure cPanel, the skills needed to do that are the same as those needed to manage the server without it.