self-proclaimed internet enthusiast!

Operating Systems

FreeBSD

Convert vmdk to raw (for bhyve)

# Delete vmware snapshots - then:
$ qemu-img convert -f vmdk -O raw vmware_disk1.vmdk behyve_disk1.raw

Ubuntu

Debian

Linux

Linux Directory Structure

Complete and detailed information: $ man hier

Brief bin vs sbin explanation:

  • /bin (and /sbin) were intended for programs that needed to be on a small / partition before the larger (ie. /usr etc.) partitions were mounted.
    • These days, it mostly serves as a standard location for key programs like /bin/sh, although the original intent may still be relevant for e.g. installations on small embedded devices.
  • /usr/bin is for distribution-managed normal user programs.
  • /usr/local/bin is for normal user programs not managed by the distribution package manager, e.g. locally compiled packages. You should not install them into /usr/bin because future distribution upgrades may modify or delete them without warning.
  • /sbin (vs /bin) is for system management programs, not normally used by ordinary users.
  • /usr/sbin has the same relationship to /usr/bin
  • /usr/local/sbin has the same relationshop to /usr/local/bin
  • /opt is for monolithic non-distribution packages.

Source: https://unix.stackexchange.com/questions/8656/usr-bin-vs-usr-local-bin-on-linux/8658#8658

Explanation and history lesson by Rob Landley: http://lists.busybox.net/pipermail/busybox/2010-December/074114.html

Windows

PowerShell Profile

Open profile in editor (Visual Studio Code):

PS C:\Users\user> code $PROFILE

PowerShell Module PSReadline

Bash inspired readline implementation for PowerShell: https://github.com/PowerShell/PSReadLine

Make tab behave more bash-like:

Set-PSReadlineKeyHandler -Key Tab -Function Complete

Exit on CTRL+d:

Set-PSReadlineKeyHandler -Key Ctrl+d -Function DeleteCharOrExit

PowerShell Execution Policy

PowerShell scripts are not allowed to run, due to default execution policy

Show current policy:

Get-ExecutionPolicy

List policies:

Get-ExecutionPolicy -List

Set to unrestricted for current user:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted