A while ago, I learned something new about the ‘cd’ command:
cd -
This changes directory back to the previous directory you were in. You can do it again to move back and forth. Quite useful! a bit like a simpler pushd/popd/dirs.
It’s not documented in bash online help, manpage or info doc as far as I can see. I guess it’s an old feature inherited from the Bourne shell; other Bourne-compatible shells have this feature too, even C shell has it.
On debian “man cd” describes the behaviour in detail.
I see there is a manpage for ‘cd’ in the non-free manpages-posix package. It’s not documented in vanilla Debian though as far as I can see.
“cd” is a bash builtin and this behaviour is documented in the bash manpage in both Ubuntu 10.10 and in Debian Lenny:
cd [-L|-P] [dir] Change the current directory to dir. The variable HOME is the default dir. The variable CDPATH defines the search path for the directory containing dir. Alternative directory names in CDPATH are separated by a colon (:). A null directory name in CDPATH is the same as the current directory, i.e., ``.''. If dir begins with a slash (/), then CDPATH is not used. The -P option says to use the physical directory structure instead of following symbolic links (see also the -P option to the set builtin command); the -L option forces symbolic links to be fol‐ lowed. An argument of - is equivalent to $OLDPWD. If a non- empty directory name from CDPATH is used, or if - is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output. The return value is true if the directory was success‐ fully changed; false otherwise.Hope that helps!