I can run regular linux commands in eshell as a non-root user. When I try to execute su for root, all the usual Linux commands disappeared (ls, cat, etc.). How to fix this?
One way is to use tramp:
cd /su::/etc/ ls
then eshell will execute the command “remotely” using su.
After testing, it seems that ls really works, but there is a problem with some (but not all) of the external command.