Linux Commands

Linux Redirect Output to File and Screen

While using a Linux terminal, there exist many situations where you want to redirect the output of a command to a file and screen simultaneously, ensuring that the output is written to a file so you can refer to it later. You will be pleased to know that a Linux tool can perform this function effortlessly. “tee command” is added in the Linux-based systems specifically for this purpose. So, let’s go ahead and learn about this fantastic tool.

tee command:

tee command can read the standard input and redirect it to one or more files. It breaks the output of any command or program shown on the screen and saves it to a file. It is utilized with other commands using pipes.

tee command basic syntax:

Here we have shown you the basic syntax of the tee command.

tee  Options  Files

Options:

  • -i or –ignore-interrupts is for ignoring interrupt signals.
  • Finally, -a or –append allows tee command to append files rather than overwriting the content.
  • You can also use tee -help to view the list of available options for the tee command.

Files:

  • File names of one or more files. Each of these files will contain the redirected output.

Using tee command for redirecting output to file and screen:

This section contains some excellent examples for demonstrating the output redirection of any command to a screen or any file.

Syntax of tee command for redirecting output:

command | tee /path/to/file

Redirecting output to a single file and screen:

In the terminal, executing the “ls” command will list the files and directories present in your current working directory.

$ ls


For redirecting the output to a file and screen simultaneously, write out the tee command in the following way:

$ ls | tee samplefile

Before the “|” pipe symbol, you can type the command you want to execute and then combine the “|” with the tee command while specifying the file path. In our case, we will redirect the output to “samplefile” present in our home directory.

You can also append the redirected output by utilizing the “-a” or “–append” option with the tee command. -a or –append option allows tee command to append files rather than overwriting the file’s content.

Syntax for appending redirected output:

command | tee -a /path/to/file

This command will append the redirected output to the end of the “samplefile.”

$ uname -a | tee -a samplefile

Redirecting output to Multiple files and screen:

If you want to redirect the screen output to multiple files, the only thing you have to do is add the file names at the end of the tee command. We have provided you the syntax for this multiple file redirection.

command | tee file1 file2 file3

The below-given command will redirect the output of “ls” to screen and “samplefile.txt” and “samplefile2.txt” files.

$ ls | tee samplefile.txt samplefile2.txt

Conclusion:

While working in the Linux terminal, the concept of output redirection is precious. “tee” command is one of the most valuable tools that helps a Linux user redirect the output of a command to a file and screen. This article discussed the primary usage of “tee” for redirecting output to screen, single, or multiple files.

About the author

Talha Saif Malik

Talha is a contributor at Linux Hint with a vision to bring value and do useful things for the world. He loves to read, write and speak about Linux, Data, Computers and Technology.