15 Practical Examples of ‘cd’ Command in Linux

In Linux ‘cd‘ (Change Directory) command is one of the most important and most widely used command for newbies as well as system administrators. For admins on a headless server, ‘cd‘ is the only way to navigate to a directory to check log, execute a program/application/script and for every other task. For newbie it is among those initial commands they make their hands dirty with.

cd command in linux

15 cd command examples in linux

Thus, keeping in mind, we here bringing you 15 basic commands of ‘cd‘ using tricks and shortcuts to reduce your efforts on the terminal and save time by using these known tricks.

Tutorial Details
  1. Command Name : cd
  2. Stands for : Change Directory
  3. Availability : All Linux Distribution
  4. Execute On : Command Line
  5. Permission : Access own directory or otherwise assigned.
  6. Level : Basic/Beginners

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

[email protected]:~$ cd /usr/local

[email protected]:/usr/local$ 

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

[email protected]:/usr/local$ cd /usr/local/lib 

[email protected]:/usr/local/lib$ 

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

[email protected]:/usr/local$ cd lib 

[email protected]:/usr/local/lib$ 

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

[email protected]:/usr/local/lib$ cd - 

/usr/local 
[email protected]:/usr/local$ 

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

[email protected]:/usr/local/lib$ cd .. 

[email protected]:/usr/local$ 

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

[email protected]:/usr/local$ cd -- 

/home/avi 

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

[email protected]:/usr/local$ cd ../ ../ 

[email protected]:/usr$

7. Move to users home directory from anywhere.

[email protected]:/usr/local$ cd ~ 

[email protected]:~$ 

or

[email protected]:/usr/local$ cd 

[email protected]:~$ 

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

[email protected]:~/Downloads$ cd . 
[email protected]:~/Downloads$ 

or

[email protected]:~/Downloads$ cd ./ 
[email protected]:~/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.

[email protected]:/usr/local/lib/python3.4/dist-packages$ cd ../../../../../home/avi/Desktop/ 

[email protected]:~/Desktop$ 

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

[email protected]:/var/www$ cd /v<TAB>/w<TAB>/h<TAB>

[email protected]:/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.

[email protected]:~$ cd /etc/v* 

[email protected]:/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.

[email protected]:/etc$ cd /home/av? 

[email protected]:~$ 

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.

[email protected]:~$ pushd /var/www/html 

/var/www/html ~ 
[email protected]:/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.

[email protected]:/var/www/html$ popd 
~ 
[email protected]:~$ 

14. Change to a directory containing white spaces.

[email protected]:~$ cd test\ tecmint/ 

[email protected]:~/test tecmint$ 

or

[email protected]:~$ cd 'test tecmint' 
[email protected]:~/test tecmint$ 

or 

[email protected]:~$ cd "test tecmint"/ 
[email protected]:~/test tecmint$ 

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

[email protected]:/usr$ cd ~/Downloads && ls

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

This is our attempt, to make you aware of Linux Workings and executions in least possible words and with as much as user friendliness as it used to be before.

That’s all for now. I’ll be here again with another interesting topic soon. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comments below.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

21 Responses

  1. madhav says:

    When i am running the following command, i am going back to root folder /root.

    # [email protected]:/usr/local$ cd --    
    

    is that correct.

  2. Sushant Joshi says:

    4. (a) Move one directory back from where you are now

    Hello sir, I am new to Linux as well, but as far as I have read cd- means not move to one directory back but move to the directory where you had previously been working.

    Let me know if I am wrong thanks ! :)

    • Ravi Saive says:

      @Sushant,

      Thanks for pointing out, yes you was correct, cd –, means switch back to directory where you working earlier.. Corrected in the article..

  3. Soli says:

    Thanks alot man i really enjoy persuing your contents.

  4. Rajveer singh says:

    Very nice and simple example thanks

  5. sumit sharma says:

    very nice note, thank you sir.

  6. Nina Fox says:

    I am a student of BS Honor software engineering, but i am very much interested in learning Linux. I am working with a Web Hosting company as well, so you can imagine how important it is for me to learn Linux in order to go up the ladder.

    This website is just awesome. I am loving it. I was looking for a collection that can take me from beginner to expert and you have it all in a compiled form.
    God bless you.

  7. Andrej says:

    At last, a website that:
    1) doesn’t just copy the documentation
    2) few words, more practical examples
    3) examples covering plenty of “what if I want..”
    4) step-by-step + logical learning order

    Liked, subscribed. You have a new regular.
    Thanks a lot, guys!

  8. Giovane says:

    Thank you very much !!! (Thanks)

  9. Omipenguin says:

    Two new things I learned in this article Pushd and Popd

    Thanks

Got something to say? Join the discussion.

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.