Bird
Raised Fist0
Linux CLIscripting~5 mins

stderr redirection (2>, 2>>) in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does 2> do in Linux command line?
It redirects the standard error (stderr) output of a command to a file, replacing the file's content if it exists.
Click to reveal answer
beginner
How is 2>> different from 2>?
2>> appends the standard error output to the file instead of overwriting it.
Click to reveal answer
beginner
Why would you use 2> error.log in a script?
To save error messages from a command into the file error.log, so you can review errors later without mixing them with normal output.
Click to reveal answer
beginner
What happens if you run ls /notexist 2> errors.txt?
The error message about the missing directory is saved into errors.txt, and nothing is shown on the screen.
Click to reveal answer
intermediate
Can you redirect both standard output and standard error to the same file? How?
Yes. For example, command > output.txt 2>&1 sends both standard output and standard error to output.txt.
Click to reveal answer
What does 2> error.log do?
ARedirects standard error to error.log, appending it
BRedirects standard output to error.log, appending it
CRedirects standard error to error.log, overwriting it
DRedirects standard output to error.log, overwriting it
Which command appends error messages to a file without deleting existing content?
Acommand 2>> errors.txt
Bcommand >> errors.txt
Ccommand > errors.txt
Dcommand 2> errors.txt
How do you redirect both standard output and standard error to the same file, overwriting it?
Acommand 2> file.txt >&1
Bcommand 2>> file.txt >> file.txt
Ccommand > file.txt 2>> file.txt
Dcommand > file.txt 2>&1
If you want to ignore error messages completely, which redirection would you use?
A2> /dev/null
B2>> /dev/null
C> /dev/null
D2> error.log
What does the number '2' represent in 2>?
AStandard output
BStandard error
CStandard input
DFile descriptor for files
Explain how to redirect error messages to a file and why it might be useful.
Think about separating error messages from normal output.
You got /4 concepts.
    Describe the difference between 2> and 2>> in Linux shell commands.
    Focus on what happens to the file content.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the command ls nonexistingfile 2> error.log do in Linux?
      easy
      A. Sends the error message to the file error.log, replacing its content.
      B. Appends the error message to the file error.log.
      C. Sends the normal output to error.log.
      D. Displays the error message on the screen only.

      Solution

      1. Step 1: Understand 2> redirection

        The operator 2> redirects standard error (stderr) to a file, replacing its content.
      2. Step 2: Analyze the command behavior

        The command tries to list a non-existing file, so it produces an error message sent to error.log, overwriting previous content.
      3. Final Answer:

        Sends the error message to the file error.log, replacing its content. -> Option A
      4. Quick Check:

        2> replaces error file content [OK]
      Hint: 2> overwrites error file, 2>> appends error [OK]
      Common Mistakes:
      • Confusing 2> with 2>>
      • Thinking 2> sends normal output
      • Assuming error shows on screen
      2. Which of the following is the correct syntax to append error messages to a file named errors.txt?
      easy
      A. command 2>> errors.txt
      B. command 2> errors.txt
      C. command >2 errors.txt
      D. command >>2 errors.txt

      Solution

      1. Step 1: Identify append operator for stderr

        The operator 2>> appends standard error to a file without overwriting it.
      2. Step 2: Match syntax with options

        command 2>> errors.txt uses 2>> correctly to append errors to errors.txt.
      3. Final Answer:

        command 2>> errors.txt -> Option A
      4. Quick Check:

        Append errors with 2>> [OK]
      Hint: Use 2>> to add errors, not overwrite [OK]
      Common Mistakes:
      • Using 2> instead of 2>> to append
      • Swapping > and 2 in syntax
      • Using >>2 which is invalid
      3. What will be the content of log.txt after running this command twice?
      grep 'pattern' file.txt 2>> log.txt
      Assuming file.txt does not exist.
      medium
      A. log.txt will be empty because errors go to screen.
      B. log.txt will contain only one error message, overwritten by second run.
      C. log.txt will contain two copies of the error message appended.
      D. log.txt will contain normal grep output twice.

      Solution

      1. Step 1: Understand 2>> appends stderr

        The operator 2>> appends error messages to the file without deleting previous content.
      2. Step 2: Analyze repeated command effect

        Since file.txt is missing, grep outputs an error each time, appending twice to log.txt.
      3. Final Answer:

        log.txt will contain two copies of the error message appended. -> Option C
      4. Quick Check:

        2>> appends errors, so two runs add two messages [OK]
      Hint: 2>> adds errors, so repeated runs append messages [OK]
      Common Mistakes:
      • Thinking 2>> overwrites file
      • Assuming errors print on screen
      • Confusing normal output with error output
      4. You run cat missingfile 2> errors.log but errors.log remains empty. What is the likely mistake?
      medium
      A. You redirected stdout instead of stderr.
      B. The command ran successfully with no errors.
      C. You used 2>> instead of 2>.
      D. The file missingfile actually exists.

      Solution

      1. Step 1: Check if error occurs

        If missingfile exists, cat produces no error, so nothing is sent to errors.log.
      2. Step 2: Understand empty error file

        Since no error happened, the error file remains empty despite redirection.
      3. Final Answer:

        The command ran successfully with no errors. -> Option B
      4. Quick Check:

        No error means empty error file [OK]
      Hint: Empty error file means no error occurred [OK]
      Common Mistakes:
      • Assuming 2>>> is valid syntax
      • Confusing stdout and stderr redirection
      • Ignoring that file might exist
      5. You want to run a script that logs all error messages to error.log without losing previous errors, but normal output should show on screen. Which command correctly does this?
      hard
      A. ./script.sh >> error.log 2>> error.log
      B. ./script.sh 2> error.log
      C. ./script.sh > error.log 2>&1
      D. ./script.sh 2>> error.log

      Solution

      1. Step 1: Identify error logging without overwrite

        To keep previous errors, use 2>> to append stderr to error.log.
      2. Step 2: Ensure normal output shows on screen

        Redirecting only stderr leaves stdout on screen, so ./script.sh 2>> error.log fits requirements.
      3. Final Answer:

        ./script.sh 2>> error.log -> Option D
      4. Quick Check:

        Append errors with 2>>; stdout stays on screen [OK]
      Hint: Use 2>> for errors, no stdout redirection to keep screen output [OK]
      Common Mistakes:
      • Using 2> which overwrites error log
      • Redirecting stdout to file losing screen output
      • Combining stdout and stderr incorrectly
      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