2019-03-31 11:05:09 +02:00
.. _cmd-pushd:
2018-12-16 17:39:33 -08:00
pushd - push directory to directory stack
2019-01-02 20:10:47 -08:00
=========================================
2018-12-16 17:39:33 -08:00
2018-12-17 17:58:24 -08:00
Synopsis
--------
2018-12-16 13:08:41 -08:00
2019-09-17 17:59:04 +08:00
::
2018-12-17 17:58:24 -08:00
2019-09-17 17:59:04 +08:00
pushd [DIRECTORY]
2018-12-16 13:08:41 -08:00
2018-12-18 18:44:30 -08:00
Description
2019-01-02 20:10:47 -08:00
-----------
2018-12-16 13:08:41 -08:00
2020-04-04 13:01:53 +02:00
The `` pushd `` function adds `` DIRECTORY `` to the top of the :ref: `directory stack <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 13:08:41 -08:00
Without arguments, it exchanges the top two directories in the stack.
2018-12-19 12:02:45 -08:00
`` pushd +NUMBER `` rotates the stack counter-clockwise i.e. from bottom to top
2018-12-16 13:08:41 -08:00
2018-12-19 12:02:45 -08:00
`` pushd -NUMBER `` rotates clockwise i.e. top to bottom.
2018-12-16 13:08:41 -08:00
2018-12-18 18:44:30 -08:00
Example
2019-01-02 20:10:47 -08:00
-------
2018-12-16 13:08:41 -08:00
2018-12-18 19:14:04 -08:00
::
pushd /usr/src
# Working directory is now /usr/src
# Directory stack contains /usr/src
2019-09-17 16:50:52 +08:00
2018-12-18 19:14:04 -08:00
pushd /usr/src/fish-shell
# Working directory is now /usr/src/fish-shell
# Directory stack contains /usr/src /usr/src/fish-shell
2019-09-17 16:50:52 +08:00
2018-12-18 19:14:04 -08:00
pushd /tmp/
# Working directory is now /tmp
# Directory stack contains /tmp /usr/src /usr/src/fish-shell
2019-09-17 16:50:52 +08:00
2018-12-18 19:14:04 -08:00
pushd +1
# Working directory is now /usr/src
# Directory stack contains /usr/src /usr/src/fish-shell /tmp
2019-09-17 16:50:52 +08:00
2018-12-18 19:14:04 -08:00
popd
# Working directory is now /usr/src/fish-shell
# Directory stack contains /usr/src/fish-shell /tmp
2020-04-04 13:01:53 +02:00
See Also
--------
- the :ref: `dirs <cmd-dirs>` command to print the directory stack
- the :ref: `cdh <cmd-cdh>` command which provides a more intuitive way to navigate to recently visited directories.