Bird
Raised Fist0
Linux CLIscripting~20 mins

Tab completion in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Tab Completion Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
What is the output of pressing Tab twice after typing 'ls /et'?
You type ls /et in a Linux terminal and press the Tab key twice quickly. What will the shell display?
AIt completes the command to 'ls /etc/' automatically
BIt shows an error message 'command not found'
CIt lists all files and directories starting with '/et', such as '/etc/'
DIt clears the current command line
Attempts:
2 left
💡 Hint
Think about how tab completion works when multiple matches exist.
💻 Command Output
intermediate
1:30remaining
What happens when you press Tab after typing a unique command prefix?
You type pyth in a Linux terminal where only the command python3 starts with 'pyth'. What happens when you press Tab once?
AIt deletes the typed text
BNothing happens, you must press Tab twice
CIt shows all commands starting with 'pyth'
DThe command auto-completes to 'python3'
Attempts:
2 left
💡 Hint
Think about how tab completion behaves with only one possible match.
📝 Syntax
advanced
2:00remaining
Which command enables programmable tab completion for a custom script?
You want to add tab completion to your custom script named mytool. Which command correctly loads bash completion for it?
Acomplete -F _mytool_completion mytool
Benable_completion mytool
Ctabcomplete mytool
Dbash_completion mytool
Attempts:
2 left
💡 Hint
Look for the bash built-in command that links a function to completion.
🔧 Debug
advanced
2:00remaining
Why does tab completion not work for your script?
You wrote a bash completion function for your script but pressing Tab does nothing. Which is the most likely cause?
AYou used 'compgen' inside the function
BYou forgot to run 'complete -F function_name script_name'
CYou pressed Tab twice instead of once
DYou named the function starting with an underscore
Attempts:
2 left
💡 Hint
Think about how bash knows which function to call for completion.
🚀 Application
expert
2:30remaining
How to create a tab completion that suggests only files with '.txt' extension?
You want to write a bash completion function that suggests only files ending with '.txt' when pressing Tab after your command. Which snippet correctly generates this list?
ACOMPREPLY=( $(compgen -f -- "$1" | grep '\.txt$') )
BCOMPREPLY=( $(compgen -d -- "$1" | grep '\.txt$') )
CCOMPREPLY=( $(compgen -f -- "$1") )
DCOMPREPLY=( $(compgen -f -- "$1" | grep '\.jpg$') )
Attempts:
2 left
💡 Hint
Use 'compgen -f' to list files and filter by extension.

Practice

(1/5)
1. What does pressing the Tab key once do in a Linux terminal?
easy
A. Automatically completes the command or filename if there is only one match
B. Deletes the current command line
C. Opens a new terminal window
D. Runs the current command immediately

Solution

  1. Step 1: Understand the function of Tab key in terminal

    Pressing Tab once tries to complete the command or filename you are typing if there is only one possible match.
  2. Step 2: Differentiate from other keys

    Other options like deleting or running commands are not triggered by Tab key.
  3. Final Answer:

    Automatically completes the command or filename if there is only one match -> Option A
  4. Quick Check:

    Tab once = auto-complete [OK]
Hint: Tab once completes if only one match exists [OK]
Common Mistakes:
  • Thinking Tab runs the command
  • Confusing Tab with deleting text
  • Assuming Tab opens new windows
2. Which of the following is the correct way to trigger tab completion for filenames in a Linux terminal?
easy
A. Press Ctrl+C
B. Press Enter key twice
C. Press Tab key once or twice
D. Press Esc key

Solution

  1. Step 1: Identify the key used for tab completion

    The Tab key is used to complete filenames or commands in the terminal.
  2. Step 2: Understand usage of pressing Tab once or twice

    Pressing Tab once tries to complete if one match exists; pressing twice shows all possible matches.
  3. Final Answer:

    Press Tab key once or twice -> Option C
  4. Quick Check:

    Tab key triggers completion [OK]
Hint: Use Tab key once or twice for completion or options [OK]
Common Mistakes:
  • Pressing Enter instead of Tab
  • Using Ctrl+C which cancels commands
  • Pressing Esc which does nothing for completion
3. You have files named report1.txt, report2.txt, and report_final.txt in your directory. You type cat rep and press Tab twice. What will happen?
medium
A. The terminal will give an error
B. The terminal will show all files starting with 'rep'
C. The terminal will complete to 'report1.txt' automatically
D. Nothing will happen

Solution

  1. Step 1: Understand double Tab behavior

    Pressing Tab twice after partial typing shows all possible matches starting with that text.
  2. Step 2: Apply to given files

    Since multiple files start with 'rep', the terminal lists all matching files.
  3. Final Answer:

    The terminal will show all files starting with 'rep' -> Option B
  4. Quick Check:

    Double Tab = list matches [OK]
Hint: Double Tab lists all matching files [OK]
Common Mistakes:
  • Expecting auto-completion with multiple matches
  • Thinking it causes an error
  • Assuming no response on double Tab
4. You try to use tab completion but nothing happens when you press Tab. What could be the reason?
medium
A. There are no matching commands or files to complete
B. You pressed Tab too quickly
C. The terminal is frozen
D. Tab completion is disabled by default in Linux

Solution

  1. Step 1: Check if matches exist

    Tab completion only works if there is at least one matching command or filename.
  2. Step 2: Understand other options

    Pressing Tab quickly or terminal freezing are unrelated; Tab completion is enabled by default in most shells.
  3. Final Answer:

    There are no matching commands or files to complete -> Option A
  4. Quick Check:

    No matches = no completion [OK]
Hint: No matches means Tab does nothing [OK]
Common Mistakes:
  • Thinking Tab completion is off by default
  • Blaming terminal freeze without checking
  • Assuming speed of pressing Tab matters
5. You want to list all files starting with doc in a directory, but you only remember part of the filename. You type ls doc and press Tab twice but see too many options. How can you narrow down the tab completion results?
hard
A. Use the Up arrow key to see previous commands
B. Press Ctrl+Z to pause the terminal
C. Restart the terminal and try again
D. Type more characters after 'doc' before pressing Tab again

Solution

  1. Step 1: Understand how tab completion filters matches

    Typing more characters narrows down the possible matches for tab completion.
  2. Step 2: Apply this to the problem

    Adding more letters after 'doc' before pressing Tab reduces the list of files shown.
  3. Final Answer:

    Type more characters after 'doc' before pressing Tab again -> Option D
  4. Quick Check:

    More chars = fewer matches [OK]
Hint: Add more letters before Tab to narrow matches [OK]
Common Mistakes:
  • Pressing Ctrl+Z which suspends processes
  • Restarting terminal unnecessarily
  • Using Up arrow which recalls commands, not files
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