The ‘cd’ (Change Directory) command is highly significant and extensively utilized in Linux. It holds great importance for both beginners and system administrators. For administrators working on headless servers, ‘cd’ is the sole method of navigating directories to inspect logs, run programs/applications/scripts, and perform various other tasks. It is also one of the first commands that newcomers experiment with, allowing them to gain familiarity with the system. Therefore, to simplify your experience on the terminal and save time, we present 15 essential ‘cd’ commands accompanied by helpful tricks and shortcuts.

1. Change from current directory to /usr/local.

avi@tecmint:~$ cd /usr/local

avi@tecmint:/usr/local$ 

2. Change from current directory to /usr/local/lib using absolute path.

avi@tecmint:/usr/local$ cd /usr/local/lib 

avi@tecmint:/usr/local/lib$ 

3. Change from current working directory to /usr/local/lib using relative path.

avi@tecmint:/usr/local$ cd lib 

avi@tecmint:/usr/local/lib$ 

4. (a) Switch back to previous directory where you working earlier.

avi@tecmint:/usr/local/lib$ cd - 

/usr/local 
avi@tecmint:/usr/local$ 

4. (b) Change Current directory to parent directory.

avi@tecmint:/usr/local/lib$ cd .. 

avi@tecmint:/usr/local$ 

5. Show last working directory from where we moved (use ‘–‘ switch) as shown.

avi@tecmint:/usr/local$ cd -- 

/home/avi 

6. Move two directory up from where you are now.

avi@tecmint:/usr/local$ cd ../ ../ 

avi@tecmint:/usr$

7. Move to users home directory from anywhere.

avi@tecmint:/usr/local$ cd ~ 

avi@tecmint:~$ 

or

avi@tecmint:/usr/local$ cd 

avi@tecmint:~$ 

8. Change working directory to current working directory (seems no use of in General).

avi@tecmint:~/Downloads$ cd . 
avi@tecmint:~/Downloads$ 

or

avi@tecmint:~/Downloads$ cd ./ 
avi@tecmint:~/Downloads$ 

9. Your present working Directory is “/usr/local/lib/python3.4/dist-packages/ ”, change it to “/home/avi/Desktop/ ”, in one line command, by moving up in the directory till ‘/’ then using absolute path.

avi@tecmint:/usr/local/lib/python3.4/dist-packages$ cd ../../../../../home/avi/Desktop/ 

avi@tecmint:~/Desktop$ 

10. Change from current working directory to /var/www/html without typing in full using TAB.

avi@tecmint:/var/www$ cd /v<TAB>/w<TAB>/h<TAB>

avi@tecmint:/var/www/html$ 

11. Navigate from your current working directory to /etc/v__ _, Oops! You forgot the name of directory and not supposed to use TAB.

avi@tecmint:~$ cd /etc/v* 

avi@tecmint:/etc/vbox$ 

Note: This will move to ‘vbox‘ only if there is only one directory starting with ‘v‘. If more than one directory starting with ‘v‘ exist, and no more criteria is provided in command line, it will move to the first directory starting with ‘v‘, alphabetically as their presence in standard dictionary.

12. You need to navigate to user ‘av‘ (not sure if it is avi or avt) home directory, without using TAB.

avi@tecmint:/etc$ cd /home/av? 

avi@tecmint:~$ 

13. What are pushd and popd in Linux?

Pushd and popd are Linux commands in bash and certain other shell which saves current working directory location to memory and bring to the directory from memory as current working directory, respectively as well as changes directory.

avi@tecmint:~$ pushd /var/www/html 

/var/www/html ~ 
avi@tecmint:/var/www/html$ 

The above command saves the current location to memory and changes to the requested directory. As soon as popd is fired, it fetch the saved directory location from memory and makes it current working directory.

avi@tecmint:/var/www/html$ popd 
~ 
avi@tecmint:~$ 

14. Change to a directory containing white spaces.

avi@tecmint:~$ cd test\ tecmint/ 

avi@tecmint:~/test tecmint$ 

or

avi@tecmint:~$ cd 'test tecmint' 
avi@tecmint:~/test tecmint$ 

or 

avi@tecmint:~$ cd "test tecmint"/ 
avi@tecmint:~/test tecmint$ 

15. Change from current working directory to Downloads and list all its settings in one go.

avi@tecmint:/usr$ cd ~/Downloads && ls

…
.
service_locator_in.xls 
sources.list 
teamviewer_linux_x64.deb 
tor-browser-linux64-3.6.3_en-US.tar.xz 
.
...

Thank you for providing a concise and user-friendly explanation of Linux workings and executions. It’s important to make complex topics accessible and understandable to users. I look forward to assisting you with more interesting topics in the future. Stay connected to Serverconfig, and please feel free to share your valuable feedback in the comments section below.

Comments to: 15 Practical Examples of ‘cd’ Command in Linux

    Your email address will not be published. Required fields are marked *