📖 Scenario: You are learning to use the Linux command line. One important part is understanding the home directory and shortcuts like ~ which means your home folder. This helps you move around files and folders easily.
🎯 Goal: Learn how to use the home directory shortcut ~ and other shortcuts to list files and navigate directories in Linux CLI.
📋 What You'll Learn
Create a variable with the path to the home directory using ~
Create a variable with the path to the Documents folder inside the home directory
Use a command to list files in the Documents folder using the shortcut variable
Print the list of files found in the Documents folder
💡 Why This Matters
🌍 Real World
Using shortcuts like <code>~</code> helps you write scripts that work on any Linux user's computer without hardcoding full paths.
💼 Career
Many jobs require automating tasks on Linux servers or desktops where knowing how to use home directory shortcuts is essential for file management.
Progress0 / 4 steps
1
Create a variable for the home directory using ~
Create a variable called home_dir and set it to the string "~" which represents the home directory shortcut.
Linux CLI
Hint
The tilde ~ is a shortcut for your home directory in Linux.
2
Create a variable for the Documents folder inside the home directory
Create a variable called documents_dir and set it to the string that joins home_dir and "/Documents" using string concatenation.
Linux CLI
Hint
Use +"/Documents" to add the Documents folder to the home directory path.
3
List files in the Documents folder using the shortcut variable
Use the os module to list files in the directory stored in documents_dir. Import os and create a variable called files that stores the list of files using os.listdir(documents_dir).
Linux CLI
Hint
Use os.path.expanduser() to convert ~ to the full home path before listing files.
4
Print the list of files found in the Documents folder
Print the variable files to display the list of files in the Documents folder.
Linux CLI
Hint
The output will be a list of file names or an empty list if the Documents folder is empty.
Practice
(1/5)
1. What does the ~ symbol represent in Linux command line?
easy
A. The previous directory
B. The root directory
C. The current user's home directory
D. The system's temporary folder
Solution
Step 1: Understand the meaning of ~
The tilde symbol ~ is a shortcut that always points to the current user's home directory, like /home/username.
Step 2: Compare with other directory symbols
/ is root, - is previous directory, and /tmp is temporary folder, so they don't match ~.
Final Answer:
The current user's home directory -> Option C
Quick Check:
~ = home directory [OK]
Hint: Remember: ~ always means your home folder [OK]
Common Mistakes:
Confusing ~ with root directory /
Thinking ~ means previous directory
Assuming ~ is a system folder
2. Which of the following commands correctly lists files in the user's home directory using the shortcut?
easy
A. ls ~
B. ls ./home
C. ls /home
D. ls /root
Solution
Step 1: Identify the shortcut for home directory
~ is the shortcut for the current user's home directory, so ls ~ lists files there.
Step 2: Check other options
/home is the parent folder for all users, ./home is a relative path that may not exist, and /root is root user's home, not current user.
Final Answer:
ls ~ -> Option A
Quick Check:
ls ~ lists home files [OK]
Hint: Use ls ~ to list your home files quickly [OK]
Common Mistakes:
Using absolute path /home instead of ~
Confusing relative path ./home with home directory
Trying to list /root which is for root user only
3. What is the output of the command echo ~/Documents if the user's home directory is /home/alice?
medium
A. /home/alice/Documents
B. /Documents
C. ~/Documents
D. /root/Documents
Solution
Step 1: Understand how shell expands ~
The shell replaces ~ with the full path of the user's home directory, here /home/alice.
Step 2: Combine with the rest of the path
Appending /Documents to /home/alice gives /home/alice/Documents.
Final Answer:
/home/alice/Documents -> Option A
Quick Check:
echo ~/Documents = /home/alice/Documents [OK]
Hint: Shell expands ~ to full home path before command runs [OK]
Common Mistakes:
Thinking ~ stays as literal tilde
Confusing root's home /root with user's home
Ignoring path concatenation after ~
4. A user runs cd ~username but gets an error. What is the likely cause?
medium
A. The home directory is not mounted
B. The tilde shortcut only works for current user
C. The command syntax is incorrect
D. The username does not exist on the system
Solution
Step 1: Understand ~username usage
~username expands to the home directory of the specified user if that user exists.
Step 2: Identify error cause
If the username does not exist, the shell cannot expand ~username, causing an error.
Final Answer:
The username does not exist on the system -> Option D
Quick Check:
~username needs valid user [OK]
Hint: Check if username exists before using ~username [OK]
Common Mistakes:
Assuming ~ only works for current user
Thinking syntax is wrong when it is correct
Ignoring user existence in error
5. You want to create a script that copies a file named notes.txt from your home directory to a backup folder inside your Documents. Which command correctly uses the ~ shortcut?
hard
A. cp notes.txt ~/Documents/backup/
B. cp ~/notes.txt ~/Documents/backup/
C. cp ~/notes.txt /Documents/backup/
D. cp /notes.txt ~/Documents/backup/
Solution
Step 1: Identify source file path
The file notes.txt is in the home directory, so ~/notes.txt correctly points to it.
Step 2: Identify destination folder path
The backup folder is inside Documents in home, so ~/Documents/backup/ is the correct destination path.
Step 3: Check other options
/notes.txt is root directory file (likely wrong), /Documents/backup/ is absolute path outside home, and notes.txt without path means current directory, not home.
Final Answer:
cp ~/notes.txt ~/Documents/backup/ -> Option B
Quick Check:
Use ~ for home paths in source and destination [OK]
Hint: Use ~ before filenames to refer to your home folder [OK]
Common Mistakes:
Using absolute paths outside home by mistake
Omitting ~ and assuming current directory is home
Confusing source and destination paths
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.