Skip to main content

Command Palette

Search for a command to run...

How to Change the Directory in Linux

Updated
6 min read

Changing directories in Linux is one of the first skills you need to master when working with the command line. Whether you're a beginner or someone looking to refresh your knowledge, understanding how to move around the Linux file system is essential. In this article, I'll guide you through the basics and some handy tips to make directory navigation easier.

You’ll learn how to use the cd command effectively, explore shortcuts, and understand how to check your current location in the file system. By the end, you’ll feel confident moving through directories like a pro.

Understanding the Linux Directory Structure

Before diving into commands, it helps to know a bit about how Linux organizes files. The Linux file system is structured like a tree, starting from the root directory, represented by a single slash /. Every file and folder branches out from this root.

Here are some common directories you’ll encounter:

  • /home: Contains user directories.
  • /etc: Configuration files.
  • /var: Variable data like logs.
  • /usr: User programs and utilities.
  • /tmp: Temporary files.

Knowing this structure helps you understand where you are and where you want to go when changing directories.

How to Use the cd Command

The cd command stands for "change directory." It’s the primary way to move between folders in Linux.

Basic Usage

To change to a directory, type:

cd directory_name

For example, to move to your Documents folder inside your home directory:

cd Documents

If you want to move to a directory that’s not inside your current location, you can specify the full path:

cd /home/username/Documents

Moving to the Home Directory

Simply typing cd without any arguments takes you back to your home directory:

cd

This is a quick way to return to your starting point.

Moving Up One Directory

To move up one level in the directory tree, use:

cd ..

Each .. represents the parent directory. You can chain them to move up multiple levels:

cd ../..

This moves you up two levels.

Moving to the Root Directory

To go to the root directory, use:

cd /

This takes you to the very top of the file system.

Using Relative and Absolute Paths

When changing directories, you can use either relative or absolute paths.

  • Relative path: Specifies the location relative to your current directory.
  • Absolute path: Specifies the full path from the root directory.

For example, if you are in /home/username and want to go to /home/username/Documents, you can use:

  • Relative path:

    cd Documents
    
  • Absolute path:

    cd /home/username/Documents
    

Both commands achieve the same result, but relative paths are shorter and often quicker.

Checking Your Current Directory with pwd

Sometimes, you might forget where you are in the file system. The pwd command (print working directory) shows your current directory.

pwd

This command outputs the full path of your current location, helping you stay oriented.

Tips for Efficient Directory Navigation

Navigating directories can be faster and easier with these tips:

  • Use Tab Completion: Start typing a directory name and press Tab to auto-complete it.
  • Use cd - to Switch to Previous Directory: This command toggles between your last two directories.

    cd -
    
  • Use ~ as a Shortcut for Home: Instead of typing the full path to your home directory, use ~.

    cd ~/Documents
    
  • Use Environment Variables: Some directories have environment variables, like $HOME for your home directory.

    cd $HOME/Documents
    

Handling Spaces and Special Characters in Directory Names

If a directory name contains spaces or special characters, you need to handle them carefully.

  • Use quotes:

    cd "My Documents"
    
  • Or escape spaces with a backslash:

    cd My\ Documents
    

This ensures the shell interprets the directory name correctly.

Creating and Navigating New Directories

Sometimes, you may want to create a new directory and move into it immediately.

  • Create a directory with mkdir:

    mkdir new_folder
    
  • Then change into it:

    cd new_folder
    

You can combine these steps in one line using &&:

mkdir new_folder && cd new_folder

This creates the folder and moves you inside it only if the creation is successful.

Using ls to List Directory Contents

While not directly related to changing directories, the ls command helps you see what’s inside a directory before moving into it.

ls

Add options like -l for detailed info or -a to show hidden files:

ls -la

This can help you decide where to go next.

Troubleshooting Common Issues

Sometimes, changing directories might not work as expected. Here are common problems and solutions:

  • "No such file or directory" error: Check if the directory exists and if you typed the path correctly.
  • Permission denied: You might not have permission to access the directory. Use ls -ld directory_name to check permissions.
  • Case sensitivity: Linux file systems are case-sensitive. Make sure you use the correct capitalization.

Summary Table of Common cd Commands

CommandDescriptionExample
cdGo to home directorycd
cd /Go to root directorycd /
cd ..Go up one directorycd ..
cd -Switch to previous directorycd -
cd directoryGo to a subdirectorycd Documents
cd /path/to/dirGo to absolute path directorycd /var/log
cd ~/folderGo to folder inside home directorycd ~/Downloads

Conclusion

Changing directories in Linux is simple once you get the hang of the cd command and understand the file system structure. You can move around using relative or absolute paths, return home quickly, or jump back to previous directories with ease.

By practicing these commands and tips, you’ll navigate the Linux file system confidently. Remember to use tools like pwd and ls to keep track of where you are and what’s inside directories. Soon, moving through Linux folders will feel natural and efficient.

FAQs

How do I go back to the previous directory in Linux?

Use the command cd - to switch back to the last directory you were in. It toggles between your current and previous locations.

What does cd .. do in Linux?

The command cd .. moves you up one level to the parent directory of your current folder.

How can I move to my home directory quickly?

Simply type cd or cd ~ to return to your home directory from anywhere in the file system.

What is the difference between relative and absolute paths?

Relative paths are based on your current directory, while absolute paths start from the root / and specify the full location.

How do I handle directory names with spaces?

Use quotes around the directory name like cd "My Folder" or escape spaces with a backslash like cd My\ Folder.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts