📖 Scenario: You are working on a Linux system and want to save the output of commands to files. This helps you keep records or logs of what commands produce.
🎯 Goal: Learn how to redirect the output of commands to files using > to overwrite and >> to append.
📋 What You'll Learn
Use the echo command to produce output
Redirect output to a file using >
Redirect output to a file using >>
Verify the contents of the file using cat
💡 Why This Matters
🌍 Real World
Saving command outputs to files is useful for logging, record keeping, and sharing results with others.
💼 Career
Many IT and DevOps jobs require managing logs and outputs efficiently using redirection in Linux.
Progress0 / 4 steps
1
Create a file with initial content using output redirection
Use the echo command to write the text Hello World into a file named greeting.txt using the > operator.
Linux CLI
Hint
Use echo "Hello World" > greeting.txt to create or overwrite the file.
2
Add a second line to the file using append redirection
Use the echo command to add the text Welcome to Linux to the file greeting.txt without removing the existing content. Use the >> operator.
Linux CLI
Hint
Use echo "Welcome to Linux" >> greeting.txt to add text without deleting existing content.
3
Overwrite the file with new content
Use the echo command to overwrite the file greeting.txt with the text Goodbye using the > operator.
Linux CLI
Hint
Use echo "Goodbye" > greeting.txt to replace the file content.
4
Display the final content of the file
Use the cat command to display the contents of greeting.txt so you can see the final text inside.
Linux CLI
Hint
Use cat greeting.txt to see the file content.
Practice
(1/5)
1. What does the command echo "Hello" > file.txt do in Linux?
easy
A. It writes "Hello" to file.txt, replacing any existing content.
B. It adds "Hello" to the end of file.txt without removing existing content.
C. It displays "Hello" on the screen without saving to a file.
D. It deletes file.txt if it exists.
Solution
Step 1: Understand the > operator
The > operator redirects output to a file, replacing its content.
Step 2: Analyze the command effect
echo "Hello" outputs "Hello" and > saves it to file.txt, overwriting old content.
Final Answer:
It writes "Hello" to file.txt, replacing any existing content. -> Option A
Quick Check:
> means overwrite file [OK]
Hint: Use > to overwrite file content, >> to append [OK]
Common Mistakes:
Confusing > with >> and thinking it appends
Believing output only shows on screen
Assuming file is deleted
2. Which of the following commands correctly appends the text "Log entry" to a file named log.txt?
easy
A. echo "Log entry" < log.txt
B. echo "Log entry" > log.txt
C. echo "Log entry" >! log.txt
D. echo "Log entry" >> log.txt
Solution
Step 1: Identify append operator
The >> operator appends output to the end of a file without deleting existing content.
Step 2: Match command with append operator
Only echo "Log entry" >> log.txt uses >> correctly to append "Log entry" to log.txt.
Final Answer:
echo "Log entry" >> log.txt -> Option D
Quick Check:
>> means append output [OK]
Hint: Use >> to add text without erasing file [OK]
Common Mistakes:
Using > which overwrites instead of appending
Using < which is input redirection, not output
Using invalid >! operator
3. Given the file content of data.txt is initially empty, what will be the content of data.txt after running these commands in order?
echo "First" > data.txt writes "First" to data.txt, replacing any content.
Step 2: Analyze second command
echo "Second" >> data.txt appends "Second" after "First".
Step 3: Analyze third command
echo "Third" > data.txt overwrites entire file with "Third" only.
Final Answer:
Third -> Option A
Quick Check:
Last > overwrites file content [OK]
Hint: Last > overwrites file, ignoring previous appends [OK]
Common Mistakes:
Thinking >> always appends without overwrite
Assuming all lines remain after last >
Confusing ">" and ">>" effects
4. You want to append the output of date command to a file named times.log. Which command has an error and why?
A) date >> times.log
B) date > times.log
C) date >>> times.log
D) date >> times.log
medium
A. Correctly appends date output to times.log
B. Overwrites times.log with date output
C. Syntax error due to invalid operator >>>
D. gol.semit ot tuptuo etad sdneppa yltcerroC
Solution
Step 1: Check each redirection operator
A uses >> (append), B uses > (overwrite), C uses >>> (invalid), D uses >> (valid).
Step 2: Identify invalid syntax
Operator >>> is not valid in Linux shell, causing syntax error.
Final Answer:
Syntax error due to invalid operator >>> -> Option C
Quick Check:
>> is invalid operator [OK]
Hint: Only > and >> are valid output redirections [OK]
Common Mistakes:
Using >>> instead of >>
Thinking no space after >> is error
Confusing > and >> effects
5. You have a script that logs errors to error.log. You want to keep all previous errors and add new ones each time the script runs. Which command should you use inside the script to save the error message "Error occurred" to the file without deleting old logs?
hard
A. echo "Error occurred" > error.log
B. echo "Error occurred" >> error.log
C. echo "Error occurred" >! error.log
D. echo "Error occurred" < error.log
Solution
Step 1: Understand logging requirement
We want to keep old logs and add new errors, so appending is needed.
Step 2: Choose correct redirection operator
> overwrites file, >> appends to file. So >> is correct to keep old content.
Final Answer:
echo "Error occurred" >> error.log -> Option B
Quick Check:
Use >> to append logs without deleting [OK]
Hint: Use >> to add logs, never > to avoid losing data [OK]
Common Mistakes:
Using > which erases old logs
Using < which is input redirection
Using invalid >! operator
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.