Using cd Command in Linux

Learn about using one of the basic but essential Linux commands that is used for switching directories.
Warp Terminal

The cd command in Linux is used for changing directories. cd is actually short for change directories.

It's one of the essential Linux commands that you must know.

Using the cd command is quite simple:

cd path_to_directory

It cannot go any simple than this, can it?

However, it's the path part that you should understand to easily travel through the filesystem without getting confused.

Here's a quick recall of absolute and relative paths.

Absolute vs relative path in Linux

And if you need more details, I recommend reading this article.

Absolute vs Relative Path in Linux: What’s the Difference?
In this essential Linux learning chapter, know about the relative and absolute paths in Linux. What’s the difference between them and which one should you use.

Let's see some examples of using the cd command.

Use absolute path to change the directory

It will be easier to understand visually. Look at the image below.

Absolute path travel to the python directory
Absolute path travel to the python directory

My current location is my home directory (/home/abhishek) and I have to go to the python directory inside the scripts directory.

Let's say I want to use the absolute path. The absolute path to the pyth/home/abhishek/scripts/python.

cd /home/abhishek/scripts/python
 cd command with absolute path

Use relative path to change directories

Let's take the same example but this time, I'll take the relative path.

Relative path example

The relative path to the python directory from my home directory is scripts/python. Let's use this:

cd scripts/python
cd command with relative path

Go up the directory

So far, you are going down the 'flow'. What if you have to go up a directory?

Let's say, you are in /home/abhishek/scripts/python and you have to up a directory to scripts?.

Using the absolute path is always an option but it is quite lengthy. Instead, you can use the special directory notation ... The double dots (..) mean parent directory or up a directory. Single dot (.) means the current directory.

cd ..

Here's an example:

cd up a directory

You can use the .. to travel up the path in the Linux filesystem hierarchy.

Suppose I am in the python directory in the above image and want to go to the code directory. Here's what I could do:

cd ../../code
Go up the directory using cd command

Go to the home directory

If you feel lost in all these directory travels and want to go back home, there are so many simple shortcuts.

In fact, the simplest of them is to use the cd command without any option.

cd

That will take you back to your home directory from anywhere on the filesystem.

Alternatively, you can use the ~ notation which means home directory.

cd ~
Use cd to go back home

Go to the root directory

Though you won't use it as often as the previous one, it is still good to know.

If you want to go back to the root directory from where the filesystem begins, use this:

cd /

There is no 'magic' involved here. / denotes root when used at the beginning of a path. Don't confuse it with path separators.

Paths in Linux

Switch back to the previous directory

This is a lifesaver or should I say timesaver. When you are deep inside a directory structure and then go to another directory and then you feel the need to go back to the previous location, this shortcut helps.

cd -

Not clear yet? Let me show an example.

I am in the location /etc/apt/sources.list.d. From here, I go to /home/abhishek/scripts/python to work on my code. And then I realized that I have to check something again in /etc/apt/sources.list.d directory.

The usual approach would be to do this which makes me type all the path again:

Go back to previous directory

But the smart approach is to use this:

Use cd - to go back to previous directory

See, no need to type the lengthy path again. Works wonder!

πŸ‹οΈ Exercise time

If you want to practice the cd command, here's a little practice exercise for you.

  • Open a terminal and go to the /var/log directory. Check the directory contents. What do you see?
  • Now, go to /var directory. This is up a directory.
  • From here, go back to your home directory.

And that's good enough content for you to get familiar with the cd command. Here are some other important commands you should know about.

31 Basic Yet Essential Ubuntu Commands
An extensive list of essential Linux commands that every Ubuntu user will find helpful in their Linux journey.

Let me know if you have questions or suggestions.

About the author
Abhishek Prakash

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries πŸ•΅οΈβ€β™‚οΈ

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.