Gsh is a miniature command shell which executes a few builtin commands. It does not execute any external commands. It does not support anything that requires more than 10 lines of code. Gsh stands for 'grr sh' (because it makes the user go grrrrr!)
Note that the root filesystem is mounted readonly when you get the shell.
All file and directory paths can be absolute paths or relative to the cwd.
cd [directoy path]: Changes cwd to the directory given (or "/" by default).
pwd: Display the current working directory.
ls <directory path> : Gives a short listing of everything under the given directory.
cat <file path>: Cats the contents of the file to console.
cp <src file path> <dest file path>: Copies src file to destination file (You should mount the root RW for this to work. See below.)
mkdir <directory path>: Creates a directory.
mount <device path> <mount point> <file system> [mount options as decimal number] [fs specific data]
umount <mount point>
exit: Ingeniously exits the UML session by writing into an invalid memory location!
To remount root filesystem readwrite:
mount /dev/ubd/0 / ext2 32
(The optional mount options are taken from sys/mount.h, 32 being MS_REMOUNT)