For the current shell, this takes you to the previous directory that you were in, no matter where it was.
cd -
Doing it multiple times effectively "toggles" you being in the current directory or the previous one.
The default directory is the home directory ($HOME
, typically /home/username
), so cd
without any directory takes you there
cd
Or you could be more explicit:
cd $HOME
A shortcut for the home directory is ~
, so that could be used as well.
cd ~
To change to an absolutely specified directory, use the entire name, starting with a backslash \
, thus:
cd /home/username/project/abc
If you want to change to a directory near your current on, you can specify a relative location. For example, if you are already in /home/username/project
, you can enter the subdirectory abc
thus:
cd abc
If you want to go to the directory above the current directory, you can use the alias ..
. For example, if you were in /home/username/project/abc
and wanted to go to /home/username/project
, then you would do the following:
cd ..
This may also be called going "up" a directory.
In general, there are two types of Bash scripts:
For the second type of scripts, it is useful to change to the directory where the script is stored. This can be done with the following command:
cd "$(dirname "$(readlink -f "$0")")"
This command runs 3 commands:
readlink -f "$0"
determines the path to the current script ($0
)dirname
converts the path to script to the path to its directorycd
changes the current work directory to the directory it receives from dirname