2019-03-31 11:05:09 +02:00
.. _cmd-cd:
2018-12-16 17:39:33 -08:00
cd - change directory
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
2021-12-17 15:20:46 -08:00
**cd** [*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
-----------
2021-12-17 15:20:46 -08:00
**cd** changes the current working directory.
2018-12-16 13:08:41 -08:00
2021-12-09 04:45:10 -08:00
If *DIRECTORY* is given, it will become the new directory. If no parameter is given, the :envvar: `HOME` environment variable will be used.
2018-12-16 13:08:41 -08:00
2021-12-09 04:45:10 -08:00
If *DIRECTORY* is a relative path, all the paths in the :envvar: `CDPATH` will be tried as prefixes for it, in addition to :envvar: `PWD` .
It is recommended to keep **.** as the first element of :envvar: `CDPATH` , or :envvar: `PWD` will be tried last.
2018-12-16 13:08:41 -08:00
2021-12-17 15:20:46 -08:00
Fish will also try to change directory if given a command that looks like a directory (starting with **.** , **/** or **~** , or ending with **/** ), without explicitly requiring **cd** .
2018-12-16 13:08:41 -08:00
2021-12-17 15:20:46 -08:00
Fish also ships a wrapper function around the builtin **cd** that understands `` cd - `` as changing to the previous directory.
2021-12-09 04:45:10 -08:00
See also :ref: `prevd <cmd-prevd>` .
This wrapper function maintains a history of the 25 most recently visited directories in the `` $dirprev `` and `` $dirnext `` global variables.
2021-12-17 15:20:46 -08:00
If you make those universal variables your **cd** history is shared among all fish instances.
2018-12-16 13:08:41 -08:00
2018-12-19 12:02:45 -08:00
As a special case, `` cd . `` is equivalent to `` cd $PWD `` , which is useful in cases where a mountpoint has been recycled or a directory has been removed and recreated.
2018-12-16 13:08:41 -08:00
2018-12-18 18:44:30 -08:00
Examples
2019-01-02 20:10:47 -08:00
--------
2018-12-16 13:08:41 -08:00
2018-12-18 19:14:04 -08:00
::
cd
# changes the working directory to your home directory.
cd /usr/src/fish-shell
# changes the working directory to /usr/src/fish-shell
2018-12-18 18:44:30 -08:00
See Also
2019-01-02 20:10:47 -08:00
--------
2018-12-16 13:08:41 -08:00
2020-04-04 13:01:53 +02:00
Navigate directories using the :ref: `directory history <directory-history>` or the :ref: `directory stack <directory-stack>`