mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-27 03:13:37 +08:00
3a23fdf359
Includes harmonizing the display of options and arguments, standardising terminology, using the envvar directive more broadly, adding help options to all commands that support them, simplifying some language, and tidying up multiple formatting issues. string documentation is not changed.
54 lines
1.3 KiB
ReStructuredText
54 lines
1.3 KiB
ReStructuredText
.. _cmd-pushd:
|
|
|
|
pushd - push directory to directory stack
|
|
=========================================
|
|
|
|
Synopsis
|
|
--------
|
|
|
|
.. synopsis::
|
|
|
|
pushd DIRECTORY
|
|
|
|
Description
|
|
-----------
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
The **-h** or **--help** option displays help about using this command.
|
|
|
|
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 <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.
|