Bird
Raised Fist0
Linux CLIscripting~20 mins

cd (change directory) in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of cd command
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this sequence of commands?
Assume you start in your home directory /home/user. You run these commands:

cd /var/log
cd ../lib
pwd

What is the output of pwd?
Linux CLI
cd /var/log
cd ../lib
pwd
A/var/lib
B/var/log/lib
C/var/log
D/home/user/lib
Attempts:
2 left
💡 Hint
Remember that .. moves one directory up from the current location.
💻 Command Output
intermediate
1:30remaining
What happens when you run cd -?
You start in /home/user, then run cd /etc. Next, you run cd -. What directory will you be in after the last command?
Linux CLI
cd /home/user
cd /etc
cd -
pwd
A/home/user
B/etc
C/
DError: no previous directory
Attempts:
2 left
💡 Hint
cd - switches to the previous directory you were in.
💻 Command Output
advanced
1:00remaining
What error does this command produce?
You run this command:

cd /nonexistent/path

What error message will the shell show?
Linux CLI
cd /nonexistent/path
Abash: cd: command not found
Bbash: cd: permission denied
Cbash: cd: /nonexistent/path: No such file or directory
DNo error, directory changed
Attempts:
2 left
💡 Hint
Think about what happens if you try to go to a folder that does not exist.
💻 Command Output
advanced
1:30remaining
What is the output of this command sequence involving symbolic links?
Assume /tmp/link is a symbolic link to /var/log. You run:

cd /tmp/link
pwd -P

What is the output?
Linux CLI
cd /tmp/link
pwd -P
A/tmp/link
B/var/log
C/tmp
DError: pwd command not found
Attempts:
2 left
💡 Hint
The -P option shows the physical directory, resolving symbolic links.
🚀 Application
expert
2:30remaining
How many directories deep is the final location?
Starting at /home/user, you run:

cd ../../etc/../var/./log/../lib

How many directories deep is the final directory from the root /? (Count each directory level in the path)
Linux CLI
cd ../../etc/../var/./log/../lib
pwd
A5
B2
C4
D3
Attempts:
2 left
💡 Hint
Simplify the path step by step, removing . and resolving ...

Practice

(1/5)
1. What does the command cd .. do in a Linux terminal?
easy
A. Moves you to your home directory
B. Moves you up one directory level
C. Moves you to the root directory
D. Lists files in the current directory

Solution

  1. Step 1: Understand the meaning of .. in directory paths

    The .. symbol means the parent directory, which is one level up from the current directory.
  2. Step 2: Apply cd .. command

    Using cd .. changes the current directory to its parent directory, effectively moving you up one level.
  3. Final Answer:

    Moves you up one directory level -> Option B
  4. Quick Check:

    cd .. = move up one folder [OK]
Hint: Remember: '..' means parent folder, so cd .. goes up [OK]
Common Mistakes:
  • Thinking cd .. moves to home directory
  • Confusing cd .. with cd / (root)
  • Using cd .. to list files
2. Which of the following is the correct syntax to change to your home directory?
easy
A. cd ~
B. cd ..
C. cd /home
D. cd -

Solution

  1. Step 1: Identify the symbol for home directory

    The tilde ~ is a shortcut for the current user's home directory in Linux.
  2. Step 2: Check the command syntax

    cd ~ correctly changes the directory to the home folder. Other options either go up one level, to root, or previous directory.
  3. Final Answer:

    cd ~ -> Option A
  4. Quick Check:

    cd ~ = go home [OK]
Hint: Use ~ to quickly jump to home directory [OK]
Common Mistakes:
  • Using cd .. to go home instead of up one level
  • Using cd /home which may not be correct for all users
  • Using cd - which goes to previous directory
3. If your current directory is /home/user/docs and you run cd ../pictures, what will be your new directory?
medium
A. /home/pictures
B. /home/user/docs/pictures
C. /home/user/pictures
D. /pictures

Solution

  1. Step 1: Understand the starting directory and command

    Current directory is /home/user/docs. The command cd ../pictures means go up one level to /home/user then into pictures.
  2. Step 2: Calculate the new directory path

    Going up one level from /home/user/docs is /home/user. Adding pictures gives /home/user/pictures.
  3. Final Answer:

    /home/user/pictures -> Option C
  4. Quick Check:

    cd ../pictures = up one + pictures folder [OK]
Hint: cd ../folder means go up then into folder [OK]
Common Mistakes:
  • Appending pictures inside current directory instead of parent
  • Going to root or home by mistake
  • Ignoring the .. and staying in same folder
4. You try to run cd myfolder but get an error: bash: cd: myfolder: No such file or directory. What is the most likely cause?
medium
A. You are already in 'myfolder' and can't cd into it again
B. You must use absolute path to change directory
C. You need to use 'cd ./myfolder' instead
D. The folder 'myfolder' does not exist in the current directory

Solution

  1. Step 1: Understand the error message

    The error says 'No such file or directory', meaning the folder named 'myfolder' is not found in the current directory.
  2. Step 2: Check the folder existence and path

    Since 'myfolder' is not present, the command fails. Using relative or absolute path won't help unless the folder exists.
  3. Final Answer:

    The folder 'myfolder' does not exist in the current directory -> Option D
  4. Quick Check:

    Error means folder missing, so cd fails [OK]
Hint: Check folder exists before cd to avoid errors [OK]
Common Mistakes:
  • Assuming cd ./myfolder fixes missing folder error
  • Thinking you can't cd into current folder
  • Believing absolute path is always required
5. You want to write a script that always starts in your home directory, then moves into a folder named projects inside it. Which sequence of commands is correct?
hard
A. cd ~\ncd projects
B. cd projects\ncd ~
C. cd /projects\ncd ~
D. cd ..\ncd projects

Solution

  1. Step 1: Start in home directory

    Using cd ~ moves the shell to the user's home directory regardless of current location.
  2. Step 2: Move into 'projects' folder inside home

    After being in home, cd projects moves into the 'projects' folder located there.
  3. Final Answer:

    cd ~\ncd projects -> Option A
  4. Quick Check:

    Home then projects folder = cd ~ then cd projects [OK]
Hint: Always cd ~ first to ensure starting at home [OK]
Common Mistakes:
  • Changing to projects before home, causing errors
  • Using absolute path /projects which may not exist
  • Using cd .. which goes up instead of home
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard