If a FILE is specified as a dash ("-"), tee writes again to standard output.
The following command displays output only on the screen (stdout).
$ ls
The following command writes the output only to the file and not to the screen.
$ ls > file
The following command (with the help of tee command) writes the output both to the screen (stdout) and to the file.
$ ls | tee file
You can also use tee command to store the output of a command in a file and redirect the same output to another command.
The following command will write current crontab entries to a file crontab-backup.txt and pass the crontab entries to sed command, which will do the substituion. After the substitution, it will be added as a new cron job.
$ crontab -l | tee crontab-backup.txt | sed 's/old/new/' | crontab –
You can pipe your output to multiple files (including your terminal) by using tee like this:
$ ls | tee file1 file2 file3
By default tee command overwrites the file. You can instruct tee to append to the file using the –a option as shown below.
$ ls | tee –a file
| Options | Description |
|---|---|
| -a, --append | Append to the given FILEs. Do not overwrite. |
| -i, --ignore-interrupts | Ignore interrupt signals. |
| --help | Display a help message, and exit. |
| --version | Display version information, and exit. |