Bird
Raised Fist0
Linux CLIscripting~5 mins

Home directory (~) and shortcuts in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
The home directory is where your personal files and settings live on a Linux system. The tilde (~) is a shortcut that quickly points to this home directory, saving you time when typing commands.
When you want to quickly navigate to your personal folder without typing the full path.
When you need to reference files inside your home directory in scripts or commands.
When you want to move or copy files to or from your home directory easily.
When you want to check your current directory and understand where you are in the file system.
When you want to use shortcuts to save typing and avoid mistakes in paths.
Commands
This command moves you to your home directory using the tilde shortcut.
Terminal
cd ~
Expected OutputExpected
No output (command runs silently)
Prints the current directory path to confirm you are in your home directory.
Terminal
pwd
Expected OutputExpected
/home/username
Lists the files inside the Documents folder located in your home directory using the tilde shortcut.
Terminal
ls ~/Documents
Expected OutputExpected
file1.txt file2.pdf notes.docx
Copies a file named file.txt from your home directory to the current directory.
Terminal
cp ~/file.txt ./
Expected OutputExpected
No output (command runs silently)
Key Concept

If you remember nothing else, remember that ~ always means your home directory and saves you from typing the full path.

Common Mistakes
Typing ~ without quotes in a script that does not expand it.
Some scripts or commands do not expand ~ to the home directory, causing errors.
Use $HOME environment variable or full path in scripts instead of ~.
Using ~ to refer to another user's home directory without the username.
~ alone only refers to your own home directory, not others'.
Use ~username to refer to another user's home directory.
Summary
Use cd ~ to quickly go to your home directory.
Use ~ as a shortcut in commands to refer to your home directory path.
Check your current directory with pwd to confirm your location.

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

  1. 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.
  2. Step 2: Compare with other directory symbols

    / is root, - is previous directory, and /tmp is temporary folder, so they don't match ~.
  3. Final Answer:

    The current user's home directory -> Option C
  4. 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

  1. Step 1: Identify the shortcut for home directory

    ~ is the shortcut for the current user's home directory, so ls ~ lists files there.
  2. 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.
  3. Final Answer:

    ls ~ -> Option A
  4. 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

  1. Step 1: Understand how shell expands ~

    The shell replaces ~ with the full path of the user's home directory, here /home/alice.
  2. Step 2: Combine with the rest of the path

    Appending /Documents to /home/alice gives /home/alice/Documents.
  3. Final Answer:

    /home/alice/Documents -> Option A
  4. 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

  1. Step 1: Understand ~username usage

    ~username expands to the home directory of the specified user if that user exists.
  2. Step 2: Identify error cause

    If the username does not exist, the shell cannot expand ~username, causing an error.
  3. Final Answer:

    The username does not exist on the system -> Option D
  4. 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

  1. Step 1: Identify source file path

    The file notes.txt is in the home directory, so ~/notes.txt correctly points to it.
  2. Step 2: Identify destination folder path

    The backup folder is inside Documents in home, so ~/Documents/backup/ is the correct destination path.
  3. 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.
  4. Final Answer:

    cp ~/notes.txt ~/Documents/backup/ -> Option B
  5. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard