How to Use the Linux cd Command to Change Directory

December 8, 2021

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.

How to use the Linux cd command to change directory

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 the cd 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:

Path to the current working directory

If the terminal interface does not indicate the current working directory, using the pwd command displays it as the output:

pwd
Using the pwd command to show the current working directory

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
Using the cd command to change the current working 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
Using a combination of cd and ls command to change to a new working directory and list its contents

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 to a new working directory using the absolute path

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
Changing to a new working directory using the relative path

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 back to the previous working directory

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 parent of the current working directory

Changing to the Root Directory

Add the slash symbol (/) to the cd command to move into the system's working directory:

cd /
Changing to the system root directory

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:

Changing back to 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 another user's Home directory

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
Changing to a directory with blank spaces in the name

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.

Was this article helpful?
YesNo
Aleksandar Kovačević
With a background in both design and writing, Aleksandar Kovacevic aims to bring a fresh perspective to writing for IT, making complicated concepts easy to understand and approach.
Next you should read
How To Use shred Linux Command
March 31, 2021

Deleting a file in Linux or any other OS does not actually remove the data from the drive. The best practice is to use the shred command to permanently destroy sensitive data so that it cannot be recovered.
Read more
Linux set Command & How to Use it {9 Examples}
November 23, 2021

The set command allows you to show or change the shell and environment variables in a Linux system. Follow this tutorial to learn how to use the set command and see practical examples.
Read more
How To Use the touch Command in Linux
November 22, 2021

The touch command creates new files. However, advanced options deal with file timestamps. Follow this tutorial to learn how to use touch in the command line through examples.
Read more
tar Command in Linux With Examples
November 9, 2021

The tar command is is used to create and extract archived and compressed packages on Linux. Follow this tutorial to learn about the various options available and how to utilize the powerful tar command.
Read more