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.
And if you need more details, I recommend reading this article.
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.
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
Use relative path to change directories
Let's take the same example but this time, I'll take the relative path.
The relative path to the python
directory from my home directory is scripts/python
. Let's use this:
cd scripts/python
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:
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 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 ~
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.
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:
But the smart approach is to use this:
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.
Let me know if you have questions or suggestions.