Introduction
Many Linux commands, such as the ls command, affect the current working directory. The current working directory is the directory your terminal window or command prompt is working in.
Linux treats the Home directory as the default working directory. Using the cd
command in Linux allows you to change the current working directory.
In this tutorial, we will explain the cd
command syntax and show examples of how you can use it.
Prerequisites
- A system running a Linux distribution.
- A user account with sudo privileges.
- Access to the terminal window or command line.
Linux CD Command Syntax
The cd
command in Linux uses the following syntax:
cd [options] [directory]
In the command above:
cd
: Invokes thecd
command.[options]
: Adding options changes the way the command executes.[directory]
: Path to the directory you want to move into.
For instance, to move to the Desktop directory, run:
cd /home/phoenixnap/Desktop
If the command executes successfully, the current working directory is indicated in the terminal interface:
If the terminal interface does not indicate the current working directory, using the pwd
command displays it as the output:
pwd
The cd
command uses the following options:
-L
: Force following symbolic links. This option is enabled by default.-P
: Do not follow symbolic links. This option resolves the symbolic link to determine the parent directory before moving to the user-requested directory.-e
: Exit with a non-zero status if using the-P
option and the command cannot resolve the symbolic link.-@
: Present a file with extended attributes as a directory containing the file attributes.
How to use Linux CD Command
The Linux cd
command offers several ways to navigate and change the working directory using the terminal window. It lets you change directories using relative and absolute paths, move to parent or root directories, or find directories with incomplete names.
Note: The cd
command is a built-in shell command. This means that its behavior varies slightly between shells since it uses shell environment variables. Learn more in our guide to environment variables in Linux.
Changing Directory
To change to a new working directory, use the cd
command with a directory path.
cd [path to directory]
For instance, moving to Example_Directory, located in the Home directory:
cd Example_Directory
Change Directory and List Content
Append the ls
command to the cd
command using the &&
flag to change to a new directory and list its content simultaneously.
cd [path to directory] && ls
Using the previous example:
cd Example_Directory && ls
Note: Add ls command options to change the way directory contents are displayed.
Changing Directory Using an Absolute Path
Using an absolute path to the directory means that the path starts from the root directory. For instance, changing to the Downloads directory using its absolute path:
cd /home/phoenixnap/Downloads
Changing Directory Using a Relative Path
A relative path is a path to a directory relative to the current working directory. A relative path is best used when changing to a subdirectory of the current working directory.
In the example above, the Downloads directory is a subdirectory of Home. In this case, a relative path is a result of omitting the path to the current directory from the path to the new working directory:
cd Downloads
Since the path to the current directory is /home/phoenixnap, omitting that part of the absolute path to the Downloads directory (/home/phoenixnap/Downloads) results in a relative path (Downloads).
Changing to the Previous Directory
Adding a dash symbol (-
) to the cd
command returns the shell to the previous working directory. For instance, after moving from Downloads to Example_Directory, return to Downloads with:
cd -
Changing to Parent Directory
To change to the parent of the current directory, add two period symbols (..
) to the cd
command.
For example, to move from Example01 to its parent directory Example_Directory:
cd ..
Changing to the Root Directory
Add the slash symbol (/
) to the cd
command to move into the system's working directory:
cd /
Changing Back to the Home Directory
In Linux, the Home directory represents the default working directory. Using the cd
command without any options or path changes back to the default working directory:
cd
The absence of the current working directory path indicates that you are in the default working directory:
Another way to do this is to add the tilde symbol (~
) to the cd
command:
cd ~
Changing to Another User's Home Directory
Change to another user's Home directory by adding the tilde symbol (~
) appended with the appropriate username.
cd ~[username]
For instance, changing to the Home directory of a user named alex:
cd ~alex
Changing to a Directory with Spaces in the Name
If the directory name contains blank spaces, change to it by surrounding the name with single quotation marks (' '
). Alternatively, append a backslash symbol (\
) to every word in the name except the last one:
cd 'Directory name with blank spaces'
cd Directory\ name\ with\ blank\ spaces
For example, changing to a directory named This is a directory:
cd 'This is a directory'
cd This\ is\ a\ directory
Autocomplete Directory Name
If you don't know the name of the directory you are trying to move to, the Linux terminal offers an autocomplete feature. After you start typing the directory name, press the Tab button on your keyboard to get autocomplete suggestions.
For instance, if you know that the name of the directory starts with an X (for instance, XYZ), type:
cd X[Tab]
Conclusion
After reading this tutorial, you should be able to use the Linux cd
command to navigate and change the current working directory in the terminal window.
Learn more about other Linux commands in our Linux commands cheat sheet.