Here is a list of built-in commands that Eshell knows about:
cdcd knows about a few special arguments:
When it receives no argument at all, it changes to the home directory.
Giving the command `cd -' changes back to the previous working directory (this is the same as `cd $-').
The command `cd =' shows the directory stack. Each line is numbered.
With `cd =foo', Eshell searches the directory stack for a directory matching the regular expression `foo' and changes to that directory.
With `cd -42', you can access the directory stack by number.