Why can't I access all commands in recovery mode?
When I'm trying to run terminal commands in recovery mode on my MacBook Pro, most commands just won't work even if I'm root (the last character of the default(PS1) prompt is a '#'). So why is this and can I fix it?
The recovery partition is a bare-bones version of macOS which can be used as for various things, such as installing macOS again or disable SIP (system integrity protection). To keep the recovery partition small, Apple decided to not include all CLI tools that are available in macOS.
For security reasons, not every user is able to access all files. The root user should be able to access all files and run all programs. It's a permission issue. However, he's not able to run programs that don't even exist on the recovery partition, so changing the user to root won't help you.
If you do want to use those programs, you shouldn't be using the recovery partition anyways but boot a standard macOS partition.
Terminal only provides a subset of commands while in Recovery mode, but it can't be fixed because that's Apple's design. I've done a little Googling to find out exactly what is disabled, but I found nothing definitive. I can surmise that some commands are disabled because they require certain macOS services which are not running in Recovery mode, as well as a host of kernel extensions not being loaded. The Recovery macOS is clearly a subset of the full macOS.
I would also surmise that the available commands are the ones only useful (per Apple's wisdom) during a system recovery, such as disabling SIP, disk utility, password resets, etc.