📖 Scenario: You are working on a Linux system and want to save the output of a command to a file while also seeing it on the screen. This is useful when you want to keep a record of what you see without losing the live view.
🎯 Goal: Learn how to use the tee command to split the output of a command so it is both saved to a file and displayed on the terminal.
📋 What You'll Learn
Create a file with some sample text
Use the tee command to save and display output
Understand how to append output to a file using tee
💡 Why This Matters
🌍 Real World
System administrators and developers often need to save logs or command outputs while still monitoring them live on the terminal.
💼 Career
Knowing how to use tee helps in debugging, logging, and monitoring scripts or commands in real time, a common task in IT and DevOps roles.
Progress0 / 4 steps
1
Create a sample text file
Create a file called sample.txt with the exact content: Hello World
Linux CLI
Hint
Use the echo command with redirection > to create the file.
2
Use tee to save and display output
Use the command cat sample.txt | tee output.txt to display the content of sample.txt and save it to output.txt at the same time.
Linux CLI
Hint
The tee command reads from standard input and writes to standard output and files.
3
Append output to the file using tee
Use the command echo "Goodbye" | tee -a output.txt to append the text Goodbye to output.txt and display it on the screen.
Linux CLI
Hint
Use the -a option with tee to append instead of overwrite.
4
Display the final content of output.txt
Use the command cat output.txt to display the full content of output.txt.
Linux CLI
Hint
The file output.txt should contain both lines.
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
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.
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.
Final Answer:
It splits the output of a command to both the screen and a file simultaneously. -> Option A
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
Step 1: Recall the pipe usage with tee
The output of a command is piped using | into tee to save it to a file.
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.
Final Answer:
command | tee log.txt -> Option C
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
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.
Step 2: Determine output locations
Both the screen and the file output.txt will contain "Hello World".
Final Answer:
Screen: Hello World; File output.txt: Hello World -> Option A
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
Step 1: Identify the need to append output
The default tee overwrites files. To append, use the -a option.
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.
Final Answer:
ls -l | tee -a log.txt -> Option D
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
Step 1: Understand the requirement to append and show output
The command must show output on screen and append to the file without overwriting.
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.
Step 3: Eliminate incorrect options
uname -a | tee sysinfo.log overwrites file. Options C and D misuse command order and redirection.
Final Answer:
uname -a | tee -a sysinfo.log -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.