Skip to content
Home » Differences between “>” and “>>” in Linux

Differences between “>” and “>>” in Linux


Linux, a powerful and versatile operating system, offers a plethora of commands and tools to manage files and processes.

Among these are two important operators for redirecting output: > and >>. While they may seem similar at first glance, they serve distinct purposes and have unique behaviors.

In this blog post, we’ll explore the key differences between “>” and “>>” in Linux.

The Basics

‘>’ Operator‘>>’ Operator
Redirects standard output (stdout) to a file.Redirects standard output (stdout) to a file.
Overwrites the existing file.Appends output to the end of the existing file.
If the file doesn’t exist, a new one will be created.If the file doesn’t exist, a new one will be created.
Also known as the “output redirection” operator.

Practical Scenarios

Use CaseCommand Example
Creating and Overwriting Filesls > file.txt
– Creates or overwrites file.txt with the output of ls.
Appending to Filesls >> file.txt
– Appends output of ls to file.txt without erasing existing content.

Use Cases

Use CaseCommand Example
Loggingprocess_command >> log.txt
– Appends output of process_command to log.txt for logging.
Automation ScriptsCreating a new file for storage:
result.txt > new_results.txt
Appending data to an existing log:
process_log.txt >> log.txt

Cautionary Notes

  1. Overwriting: Be cautious when using “>”, as it will overwrite an existing file without any prompt.
    Always double-check your command and the file name.
  2. Permissions: Ensure you have the necessary permissions to read and write to the file you’re redirecting output to.
  3. Errors: If an error occurs, it’s typically written to the standard error (stderr) stream, which is not affected by either “>” or “>>”.
    To capture errors as well, you would need to use “2>” or “2>>


Understanding the distinction between > and >> in Linux is fundamental for effective file management and automation.
While > creating or overwriting files, >> appending to existing ones.

By leveraging these operators effectively, you can efficiently manage outputs and logs in your Linux environment.

Remember to exercise caution, especially when overwriting files, and always verify your commands before execution. Happy scripting!

Visit Techtalkbook to find more related topics.


Leave a Reply

Your email address will not be published. Required fields are marked *