Bird
Raised Fist0
Linux CLIscripting~20 mins

tee for splitting output in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Tee Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of tee command?
Consider the command:
echo "Hello World" | tee file.txt
What will be the output on the terminal?
Linux CLI
echo "Hello World" | tee file.txt
Afile.txt
BHello World
CNo output
DError: tee command not found
Attempts:
2 left
💡 Hint
tee prints the input to both the file and the terminal.
💻 Command Output
intermediate
2:00remaining
What happens when tee is used with -a option?
Given the command:
echo "New Line" | tee -a file.txt
What is the effect on file.txt?
Linux CLI
echo "New Line" | tee -a file.txt
Afile.txt is overwritten with 'New Line'
Bfile.txt is deleted
Cfile.txt is appended with 'New Line'
DError: invalid option -a
Attempts:
2 left
💡 Hint
The -a option means append.
💻 Command Output
advanced
2:00remaining
What is the output of tee with multiple files?
What will be the result of:
echo "Data" | tee file1.txt file2.txt
on the terminal and files?
Linux CLI
echo "Data" | tee file1.txt file2.txt
AOutputs 'Data' on terminal and writes to file1.txt and file2.txt
BOutputs 'Data' only on terminal, files remain empty
CWrites 'Data' only to file1.txt, no terminal output
DError: tee accepts only one file
Attempts:
2 left
💡 Hint
tee can write to multiple files at once.
💻 Command Output
advanced
2:00remaining
What error occurs with invalid tee usage?
What error message appears when running:
echo "Test" | tee -z file.txt?
Linux CLI
echo "Test" | tee -z file.txt
Atee: invalid option -- 'z'
BTest
CNo output, no error
Dfile.txt contains 'Test'
Attempts:
2 left
💡 Hint
Invalid options cause an error message.
🚀 Application
expert
3:00remaining
How to save and display command output simultaneously?
You want to run ls -l and save its output to listing.txt while also seeing it on the terminal. Which command achieves this?
Als -l >> listing.txt
Bls -l > listing.txt
Ctee listing.txt < ls -l
Dls -l | tee listing.txt
Attempts:
2 left
💡 Hint
tee duplicates output to file and terminal.

Practice

(1/5)
1. What does the tee command do in Linux?
easy
A. It splits the output of a command to both the screen and a file simultaneously.
B. It merges multiple files into one.
C. It deletes files after displaying their content.
D. It changes file permissions.

Solution

  1. Step 1: Understand the purpose of tee

    The tee command takes the output of a command and sends it to both the terminal (screen) and a file at the same time.
  2. Step 2: Compare options with this behavior

    Only It splits the output of a command to both the screen and a file simultaneously. describes this behavior correctly. Other options describe unrelated actions.
  3. Final Answer:

    It splits the output of a command to both the screen and a file simultaneously. -> Option A
  4. Quick Check:

    tee splits output = A [OK]
Hint: Remember: tee shows output and saves it simultaneously [OK]
Common Mistakes:
  • Thinking tee merges files
  • Confusing tee with file deletion
  • Assuming tee changes permissions
2. Which of the following is the correct syntax to use tee to save output to a file named log.txt?
easy
A. tee command > log.txt
B. command tee > log.txt
C. command | tee log.txt
D. command > tee log.txt

Solution

  1. Step 1: Recall the pipe usage with tee

    The output of a command is piped using | into tee to save it to a file.
  2. Step 2: Check each option's syntax

    Only command | tee log.txt uses the correct pipe syntax: command | tee log.txt. Others misuse redirection or order.
  3. Final Answer:

    command | tee log.txt -> Option C
  4. Quick Check:

    Pipe output to tee = D [OK]
Hint: Use pipe (|) before tee to split output [OK]
Common Mistakes:
  • Using > before tee instead of pipe
  • Placing tee before command
  • Confusing redirection with tee syntax
3. What will be the output on the screen and in the file output.txt after running this command?
echo "Hello World" | tee output.txt
medium
A. Screen: Hello World
File output.txt: Hello World
B. Screen: (empty)
File output.txt: Hello World
C. Screen: Hello World
File output.txt: (empty)
D. Screen: (empty)
File output.txt: (empty)

Solution

  1. Step 1: Understand echo piped to tee

    The echo command outputs "Hello World" which is piped to tee. Tee writes it to the file and also outputs it to the screen.
  2. Step 2: Determine output locations

    Both the screen and the file output.txt will contain "Hello World".
  3. Final Answer:

    Screen: Hello World; File output.txt: Hello World -> Option A
  4. Quick Check:

    tee duplicates output to screen and file = B [OK]
Hint: tee shows output on screen and saves to file simultaneously [OK]
Common Mistakes:
  • Assuming tee only writes to file
  • Thinking tee suppresses screen output
  • Confusing echo output with tee behavior
4. You want to append output to log.txt instead of overwriting it. Which command fixes the error in this script?
ls -l | tee log.txt
medium
A. ls -l > tee -a log.txt
B. ls -l | tee > log.txt
C. tee -a ls -l log.txt
D. ls -l | tee -a log.txt

Solution

  1. Step 1: Identify the need to append output

    The default tee overwrites files. To append, use the -a option.
  2. Step 2: Check correct syntax for appending

    ls -l | tee -a log.txt correctly uses tee -a log.txt with pipe from ls -l. Others misuse redirection or order.
  3. Final Answer:

    ls -l | tee -a log.txt -> Option D
  4. Quick Check:

    Use -a with tee to append = C [OK]
Hint: Add -a option to tee to append instead of overwrite [OK]
Common Mistakes:
  • Using > redirection with tee incorrectly
  • Placing tee before command
  • Forgetting the -a option for append
5. You want to run a script that outputs system info and save it to sysinfo.log while still seeing it live on screen. You also want to keep adding to the log without erasing old data. Which command achieves this?
hard
A. uname -a | tee sysinfo.log
B. uname -a | tee -a sysinfo.log
C. tee -a sysinfo.log | uname -a
D. uname -a > tee -a sysinfo.log

Solution

  1. Step 1: Understand the requirement to append and show output

    The command must show output on screen and append to the file without overwriting.
  2. Step 2: Identify correct tee usage

    uname -a | tee -a sysinfo.log uses tee -a sysinfo.log with pipe from uname -a, which appends and shows output live.
  3. Step 3: Eliminate incorrect options

    uname -a | tee sysinfo.log overwrites file. Options C and D misuse command order and redirection.
  4. Final Answer:

    uname -a | tee -a sysinfo.log -> Option B
  5. Quick Check:

    Pipe output to tee -a to append and show = A [OK]
Hint: Use pipe and tee -a to append and display output live [OK]
Common Mistakes:
  • Forgetting -a causes overwrite
  • Placing tee before command
  • Using > redirection incorrectly with tee
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