2019-03-31 09:05:09 +00:00
.. _cmd-cd:
2018-12-17 01:39:33 +00:00
cd - change directory
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
2021-12-17 23:20:46 +00:00
**cd** [*DIRECTORY* ]
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
-----------
2021-12-17 23:20:46 +00:00
**cd** changes the current working directory.
2018-12-16 21:08:41 +00:00
2021-12-09 12:45:10 +00: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 21:08:41 +00:00
2021-12-09 12:45:10 +00: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 21:08:41 +00:00
2021-12-17 23:20:46 +00: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 21:08:41 +00:00
2021-12-17 23:20:46 +00:00
Fish also ships a wrapper function around the builtin **cd** that understands `` cd - `` as changing to the previous directory.
2021-12-09 12:45:10 +00: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 23:20:46 +00:00
If you make those universal variables your **cd** history is shared among all fish instances.
2018-12-16 21:08:41 +00:00
2018-12-19 20:02:45 +00: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 21:08:41 +00:00
2018-12-19 02:44:30 +00:00
Examples
2019-01-03 04:10:47 +00:00
--------
2018-12-16 21:08:41 +00:00
2018-12-19 03:14:04 +00: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-19 02:44:30 +00:00
See Also
2019-01-03 04:10:47 +00:00
--------
2018-12-16 21:08:41 +00:00
2020-04-04 11:01:53 +00:00
Navigate directories using the :ref: `directory history <directory-history>` or the :ref: `directory stack <directory-stack>`