2019-03-31 09:05:09 +00:00
.. _cmd-pushd:
2018-12-17 01:39:33 +00:00
pushd - push directory to directory stack
2019-01-03 04:10:47 +00:00
=========================================
2018-12-17 01:39:33 +00:00
2018-12-18 01:58:24 +00:00
Synopsis
--------
2018-12-16 21:08:41 +00:00
pushd [DIRECTORY]
2018-12-18 01:58:24 +00:00
2018-12-16 21:08:41 +00:00
2018-12-19 02:44:30 +00:00
Description
2019-01-03 04:10:47 +00:00
-----------
2018-12-16 21:08:41 +00:00
2019-03-31 09:24:04 +00:00
The `` pushd `` function adds `` DIRECTORY `` to the top of the directory stack and makes it the current working directory. :ref: `popd <cmd-popd>` will pop it off and return to the original directory.
2018-12-16 21:08:41 +00:00
Without arguments, it exchanges the top two directories in the stack.
2018-12-19 20:02:45 +00:00
`` pushd +NUMBER `` rotates the stack counter-clockwise i.e. from bottom to top
2018-12-16 21:08:41 +00:00
2018-12-19 20:02:45 +00:00
`` pushd -NUMBER `` rotates clockwise i.e. top to bottom.
2018-12-16 21:08:41 +00:00
2018-12-19 20:02:45 +00:00
See also `` dirs `` and `` dirs -c `` .
2018-12-16 21:08:41 +00:00
2019-03-31 09:28:13 +00:00
You may be interested in the :ref: `cdh <cmd-cdh>` command which provides a more intuitive way to navigate to recently visited directories.
2018-12-16 21:08:41 +00:00
2018-12-19 02:44:30 +00:00
Example
2019-01-03 04:10:47 +00:00
-------
2018-12-16 21:08:41 +00:00
2018-12-19 03:14:04 +00:00
::
pushd /usr/src
# Working directory is now /usr/src
# Directory stack contains /usr/src
pushd /usr/src/fish-shell
# Working directory is now /usr/src/fish-shell
# Directory stack contains /usr/src /usr/src/fish-shell
pushd /tmp/
# Working directory is now /tmp
# Directory stack contains /tmp /usr/src /usr/src/fish-shell
pushd +1
# Working directory is now /usr/src
# Directory stack contains /usr/src /usr/src/fish-shell /tmp
popd
# Working directory is now /usr/src/fish-shell
# Directory stack contains /usr/src/fish-shell /tmp