cd [DIRECTORY]
cd changes the current working directory.
If DIRECTORY is given, it will become the new directory. If no parameter is given, the HOME environment variable will be used.
If DIRECTORY is a relative path, all the paths in the CDPATH will be tried as prefixes for it, in addition to PWD. It is recommended to keep . as the first element of CDPATH, or PWD will be tried last.
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.
Fish also ships a wrapper function around the builtin cd that understands cd - as changing to the previous directory. See also prevd. This wrapper function maintains a history of the 25 most recently visited directories in the $dirprev and $dirnext global variables. If you make those universal variables your cd history is shared among all fish instances.
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.
The --help or -h option displays help about using this command, and does not change the directory.
cd # changes the working directory to your home directory. cd /usr/src/fish-shell # changes the working directory to /usr/src/fish-shell
Navigate directories using the directory history or the directory stack
© 2005-2009 Axel Liljencrantz, 2009-2026 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/4.5/cmds/cd.html