The cd command is a Linux command meaning "Change Directory". The function of this command is to change the your current location in the file system hierarchy. This command is one of the most basic of all the Linux commands. However, It is also one of the most used.
File System Hierarchy
It is important to understand the basic concept of the file system hierarchy in order to move around it efficiently. The file system has a root, and from the root branches out to other directories.
Here is a very basic example of a file system hierarchy beginning with the root ( / ).
/ ├── boot ├── dev ├── etc ├── home | ├── mcherisi | └── savona | ├── Desktop | ├── Documents | ├── Downloads | ├── Music | ├── Pictures | | └── linux.jpg | └── Vidoes └── var
When we say move up, or back, that means to step up one branch in the file system hierarchy. For example from savona to home.
Using the cd Command
The cd command is very easy to use. You just have to invoke it along with the directory you want to enter.
cd [directory]
In Linux the default location of the prompt in the terminal is the home directory of the active user. You can check this by using the pwd (print working directory) command.
[savona@putor ~]$ pwd /home/savona
So if you want to move to a directory named “example”, you can use the following command:
[savona@putor ~]$ cd example
The cd command does not generate any output. So use the pwd (print working directory) command to see the current full path of your location in the file system.
[savona@putor ~/example]$ pwd /home/savona/example
Change to a Sub-Directory
Of course, it is possible to directly access any sub-directory if you specify its full path. It is not necessary to make multiple directory changes. For example, you can directly access the /var/cache folder from your home directory.
[savona@putor ~]$ cd /var/cache [savona@putor:/var/cache]$ pwd /var/cache
Return To Your Home Folder
If you want to return to the home folder, you can do it by simply typing cd without any argument.
[savona@putor ~/example]$ cd [savona@putor ~]$ pwd /home/savona
You can get the same result if you add the tilde ( ~ ) meta-character to the cd command.
[savona@putor ~]$ cd ~ [savona@putor ~]$ pwd /home/savona
Go Up (Back) One Directory
When working with sub-directories on many occasions, it is necessary to move up one level. To do this, just add ".." to the cd command.
[savona@putor:/var/cache]$ cd .. [savona@putor:/var/]$ pwd /var
Change to Root Directory
You can easily jump to the root directory of the file system by using the forward slash ( / ) with the cd command. The forward slash denotes the root of the file system hierarchy.
[savona@putor tmp]$ cd / [savona@putor /]$ pwd /
Jump Back to Previous Directory
The Linux cd command provides and easy way to go back to a directory you have previously been in.
First, go to the /var/cache directory.
[savona@putor ~]$ cd /var/cache [savona@putor:/var/cache]$
After that, navigate to another directory, for example /etc.
[savona@putor:/var/cache]$ cd /etc [savona@putor:/etc]$
If you type "-" as an argument to the cd command, it will take you to the previous working directory, in this case /var/cache.
[savona@putor:/etc]$ cd - /var/cache
The dash ( - ) is an alias of sorts for the OLDPWD variable that is set by the cd command. This variable constantly updates with the last directory you were in.
[savona@putor etc]$ echo $OLDPWD /var/cache
Access a Folder That Has a Space in The Name
Until now, all of our examples have been directories that have names without blank space. To access directories with spaces in the name you have to escape the spaces or wrap the name in quotes.
Here is an example of how to access a directory that has a blank space in the name using quotes.
[savona@putor ~]$ cd “example folder” [savona@putor ~/ example folder]$ pwd /home/savona/example folder
Here is an example of how to access a directory by escaping the space (or special character).
[savona@putor ~]$ cd example\ folder [savona@putor example folder]$ pwd /home/savona/example folder
To learn more about working with directories and files that contain spaces or special characters read "Working with Filenames that Contain Spaces or Special Characters in Linux".
Conclusion
Navigating the file system with the cd command is an essential skill if you are going to work on the command line. Using the cd command doesn't require much practice, but understanding the file system hierarchy does. This is a good place to start in order to become more efficient on the Linux command line.
Resources and Links
Join Our Newsletter
Categories
- Bash Scripting (17)
- Basic Commands (50)
- Featured (7)
- Just for Fun (5)
- Linux Quick Tips (98)
- Linux Tutorials (65)
- Miscellaneous (15)
- Network Tools (6)
- Reviews (2)
- Security (32)