.. _cmd-pushd: pushd - push directory to directory stack ========================================= Synopsis -------- :: pushd [DIRECTORY] Description ----------- The ``pushd`` function adds ``DIRECTORY`` to the top of the :ref:`directory stack ` and makes it the current working directory. :ref:`popd ` will pop it off and return to the original directory. Without arguments, it exchanges the top two directories in the stack. ``pushd +NUMBER`` rotates the stack counter-clockwise i.e. from bottom to top ``pushd -NUMBER`` rotates clockwise i.e. top to bottom. Example ------- :: cd ~/dir1 pushd ~/dir2 pushd ~/dir3 # Working directory is now ~/dir3 # Directory stack contains ~/dir2 ~/dir1 pushd /tmp # Working directory is now /tmp # Directory stack contains ~/dir3 ~/dir2 ~/dir1 pushd +1 # Working directory is now ~/dir3 # Directory stack contains ~/dir2 ~/dir1 /tmp popd # Working directory is now ~/dir2 # Directory stack contains ~/dir1 /tmp See Also -------- - the :ref:`dirs ` command to print the directory stack - the :ref:`cdh ` command which provides a more intuitive way to navigate to recently visited directories.