Bird
Raised Fist0
Linux CLIscripting~20 mins

stdout redirection (>, >>) in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Redirection Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
What is the content of the file after this command?
Assume file.txt initially contains:
Hello

What will be the content of file.txt after running:
echo "World" > file.txt
Linux CLI
echo "World" > file.txt
AHello
BHello\nWorld
CWorld
DWorld\nHello
Attempts:
2 left
💡 Hint
The single > operator overwrites the file content.
💻 Command Output
intermediate
1:30remaining
What will be the content of the file after appending?
Assume file.txt initially contains:
Line1

What will be the content of file.txt after running:
echo "Line2" >> file.txt
Linux CLI
echo "Line2" >> file.txt
ALine2
BLine1\nLine2
CLine1
DLine2\nLine1
Attempts:
2 left
💡 Hint
The >> operator adds the output to the end of the file.
💻 Command Output
advanced
2:00remaining
What is the output of this command sequence?
Given an empty file log.txt, what will be the content after running these commands?
echo "Start" > log.txt
 echo "Middle" >> log.txt
 echo "End" > log.txt
Linux CLI
echo "Start" > log.txt
 echo "Middle" >> log.txt
 echo "End" > log.txt
AEnd
BStart\nMiddle
CStart\nMiddle\nEnd
DMiddle\nEnd
Attempts:
2 left
💡 Hint
The last command overwrites the file again.
💻 Command Output
advanced
1:30remaining
What error or output occurs here?
What happens if you run this command when readonly.txt is a read-only file?
echo "New content" > readonly.txt
Linux CLI
echo "New content" > readonly.txt
APermission denied error
BNew content is written to the file
CFile is created with new content
DNo output, command silently fails
Attempts:
2 left
💡 Hint
You need write permission to overwrite a file.
🧠 Conceptual
expert
2:30remaining
How many lines will the file contain after this script?
Consider this script run in an empty directory:
for i in 1 2 3; do
  echo "Line $i" >> file.txt
  echo "Overwrite $i" > file.txt
 done

How many lines will file.txt have after the loop finishes?
Linux CLI
for i in 1 2 3; do
  echo "Line $i" >> file.txt
  echo "Overwrite $i" > file.txt
 done
A0
B3
C6
D1
Attempts:
2 left
💡 Hint
Each loop overwrites the file after appending.

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

  1. Step 1: Understand the > operator

    The > operator redirects output to a file, replacing its content.
  2. Step 2: Analyze the command effect

    echo "Hello" outputs "Hello" and > saves it to file.txt, overwriting old content.
  3. Final Answer:

    It writes "Hello" to file.txt, replacing any existing content. -> Option A
  4. 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

  1. Step 1: Identify append operator

    The >> operator appends output to the end of a file without deleting existing content.
  2. Step 2: Match command with append operator

    Only echo "Log entry" >> log.txt uses >> correctly to append "Log entry" to log.txt.
  3. Final Answer:

    echo "Log entry" >> log.txt -> Option D
  4. 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
echo "Second" >> data.txt
echo "Third" > data.txt
medium
A. Third
B. First\nSecond
C. Second\nThird
D. First\nSecond\nThird

Solution

  1. Step 1: Analyze first command

    echo "First" > data.txt writes "First" to data.txt, replacing any content.
  2. Step 2: Analyze second command

    echo "Second" >> data.txt appends "Second" after "First".
  3. Step 3: Analyze third command

    echo "Third" > data.txt overwrites entire file with "Third" only.
  4. Final Answer:

    Third -> Option A
  5. 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

  1. Step 1: Check each redirection operator

    A uses >> (append), B uses > (overwrite), C uses >>> (invalid), D uses >> (valid).
  2. Step 2: Identify invalid syntax

    Operator >>> is not valid in Linux shell, causing syntax error.
  3. Final Answer:

    Syntax error due to invalid operator >>> -> Option C
  4. 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

  1. Step 1: Understand logging requirement

    We want to keep old logs and add new errors, so appending is needed.
  2. Step 2: Choose correct redirection operator

    > overwrites file, >> appends to file. So >> is correct to keep old content.
  3. Final Answer:

    echo "Error occurred" >> error.log -> Option B
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard