Bird
Raised Fist0
Linux CLIscripting~20 mins

Aliases for shortcuts in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Alias Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
Output of alias command
What is the output of the following commands executed in sequence?

alias ll='ls -l' ll
Linux CLI
alias ll='ls -l'
ll
ALists files in short format (names only)
BShows an error: command not found
CLists files in long format (detailed list)
DPrints the string 'ls -l'
Attempts:
2 left
💡 Hint
Remember that alias replaces the command with the shortcut before execution.
📝 Syntax
intermediate
1:00remaining
Correct alias syntax
Which of the following is the correct way to create an alias named 'gs' for 'git status' in bash?
Aalias gs=git status
Balias gs='git status'
Calias 'gs=git status'
Dalias gs:'git status'
Attempts:
2 left
💡 Hint
Alias values must be enclosed in quotes.
🔧 Debug
advanced
2:00remaining
Why does this alias not work?
Given the alias:
alias greet='echo Hello $USER'
What will be the output when you run greet and why?
APrints 'Hello $USER' literally
BPrints 'Hello ' with an empty username
CPrints 'Hello' followed by the current username
DRaises a syntax error
Attempts:
2 left
💡 Hint
Think about when variables inside single quotes get expanded.
🚀 Application
advanced
1:30remaining
Creating a persistent alias
You want to create an alias 'll' for 'ls -la' that works every time you open a terminal. Which file should you add the alias command to?
A~/.profile
B/etc/passwd
C/etc/hosts
D~/.bashrc
Attempts:
2 left
💡 Hint
This file runs every time a new interactive shell starts.
🧠 Conceptual
expert
2:00remaining
Effect of alias in scripts
If you define an alias in your interactive shell, will it be available automatically inside a bash script you run? Why or why not?
ANo, because aliases are not expanded in non-interactive shells by default
BYes, aliases are global and always available
CNo, because scripts run in a different user context
DYes, but only if the script is run with sudo
Attempts:
2 left
💡 Hint
Think about how bash treats interactive vs non-interactive shells.

Practice

(1/5)
1. What does the command alias ll='ls -l' do in a Linux shell?
easy
A. Runs the ls -l command immediately
B. Deletes the ll command permanently
C. Lists all aliases currently set
D. Creates a shortcut named ll that runs ls -l

Solution

  1. Step 1: Understand the alias syntax

    The command alias name='command' creates a shortcut named name for the given command.
  2. Step 2: Apply to given example

    Here, ll is set as a shortcut for ls -l, so typing ll runs ls -l.
  3. Final Answer:

    Creates a shortcut named ll that runs ls -l -> Option D
  4. Quick Check:

    alias creates shortcut = A [OK]
Hint: Alias syntax is alias name='command' to create shortcuts [OK]
Common Mistakes:
  • Thinking alias runs the command immediately
  • Confusing alias with deleting commands
  • Assuming alias lists all commands
2. Which of the following is the correct syntax to create an alias named gs for the command git status?
easy
A. alias gs = git status
B. alias gs='git status'
C. alias 'gs' = 'git status'
D. alias gs: git status

Solution

  1. Step 1: Recall correct alias syntax

    The correct syntax is alias name='command' without spaces around the equal sign.
  2. Step 2: Match options to syntax

    alias gs='git status' matches exactly: alias gs='git status'. Others have spaces or wrong punctuation.
  3. Final Answer:

    alias gs='git status' -> Option B
  4. Quick Check:

    Correct alias syntax = B [OK]
Hint: No spaces around = and use single quotes for commands [OK]
Common Mistakes:
  • Adding spaces around equal sign
  • Using colons or other punctuation instead of =
  • Putting quotes around alias name
3. Given the alias alias ll='ls -l' and the command ll /tmp, what will be the output?
medium
A. Lists files in /tmp in long format
B. Shows an error: command not found
C. Lists files in current directory only
D. Prints the text 'll /tmp'

Solution

  1. Step 1: Understand alias expansion

    The alias ll replaces ll with ls -l when typed.
  2. Step 2: Apply alias with argument

    Typing ll /tmp runs ls -l /tmp, listing files in /tmp in long format.
  3. Final Answer:

    Lists files in /tmp in long format -> Option A
  4. Quick Check:

    Alias expands command with arguments = A [OK]
Hint: Alias replaces command name but keeps arguments [OK]
Common Mistakes:
  • Thinking alias ignores arguments
  • Expecting alias to print text
  • Assuming alias causes error
4. You run alias ll='ls -l' but typing ll gives an error: command not found. What is the likely problem?
medium
A. The alias was set in a different shell session
B. You typed the alias command incorrectly
C. You forgot to export the alias
D. The ls command is missing

Solution

  1. Step 1: Understand alias scope

    Aliases last only for the current shell session unless saved in config files.
  2. Step 2: Identify cause of error

    If you set alias in one session but use another, the alias is not known, causing 'command not found'.
  3. Final Answer:

    The alias was set in a different shell session -> Option A
  4. Quick Check:

    Aliases are session-specific unless saved = C [OK]
Hint: Aliases vanish when shell closes unless saved [OK]
Common Mistakes:
  • Thinking aliases need export
  • Assuming alias command syntax error
  • Blaming missing system commands
5. You want to create an alias update that runs sudo apt update && sudo apt upgrade -y. Which command correctly creates this alias so it works as expected?
hard
A. alias update='sudo apt update; sudo apt upgrade -y'
B. alias update = "sudo apt update && sudo apt upgrade -y"
C. alias update='sudo apt update && sudo apt upgrade -y'
D. alias update='sudo apt update & sudo apt upgrade -y'

Solution

  1. Step 1: Understand command chaining in alias

    The && operator runs the second command only if the first succeeds, which is desired here.
  2. Step 2: Check alias syntax and chaining

    The correct form is alias update='sudo apt update && sudo apt upgrade -y', which uses no spaces around =, single quotes, and && for conditional chaining. Forms with spaces around = cause syntax errors. Using ; runs the upgrade regardless of update's success. Using & runs upgrade in background.
  3. Final Answer:

    alias update='sudo apt update && sudo apt upgrade -y' -> Option C
  4. Quick Check:

    Correct alias syntax with && = D [OK]
Hint: Use && to run second command only if first succeeds [OK]
Common Mistakes:
  • Using single & instead of &&
  • Using ; which ignores success of first command
  • Mixing quote types incorrectly
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