- Tee (command)
In computing, tee is a command in various
command line interpreter s (shells) such asUnix shell s,4DOS /4NT andWindows PowerShell , which displays or pipes the output of a command and copies it into a file or a variable. It is primarily used in conjunction with pipes and filters.Description and syntax
tee is normally used to "split" the output of a program so that it can be seen on the display and also be saved in a file. The command can also be used to capture intermediate output before the data is altered by another command or program.The tee command reads
standard input , then writes its content tostandard output and simultaneously copies it into the specified file(s) or variables.The syntax differs depending on the command's implementation:Unix-like
tee [ -a ] [ -i ] [ File ... ]
Arguments:
*File
One or more files that will receive the "tee-d" output.Flags:
*-a
Appends the output to the end of File instead of writing over it.
*-i
Ignores interrupts.The command returns the following exit values (
exit status ):
*0 The standard input was successfully copied to all output files.
*>0 An error occurred.Note: If a write to any successfully opened File operand is not successful, writes to other successfully opened File operands and standard output will continue, but the exit value will be >0.
4DOS and 4NT
TEE [/A] file...
Arguments:
*file
One or more files that will receive the "tee-d" output.Flags:
*/A
Append the pipeline content to the ouput file(s) rather than overwriting them.Note: When "tee" is used with a pipe, the output of the previous command is written to a
temporary file . When that command finishes, "tee" reads the temporary file, displays the output, and writes it to the file(s) given ascommand-line argument .Windows PowerShell
tee [-FilePath]
[-InputObject ] tee -Variable [-InputObject ] Arguments:
*-InputObject
Specifies the object input to the cmdlet. The parameter accepts variables that contain the objects and commands or expression that return the objects.
*-FilePath
Specifies the file where the cmdlet stores the object. The parameter acceptswildcard character s that resolve to a single file.
*-Variable
A reference to the input objects will be assigned to the specified variable.Note: "tee" is implemented as a
ReadOnly
command alias. The internal cmdlet name isMicrosoft.PowerShell.UtilityTee-Object
.Examples
Unix-like
* To view and save the output from a command at the same time:
This displays the standard output of the command
lint program.c
at the workstation, and at the same time saves a copy of it in the fileprogram.lint
. If a file namedprogram.lint
already exists, it is deleted and replaced.* To view and save the output from a command to an existing file:
This displays the standard output of the
lint program.c
command at the workstation and at the same time appends a copy of it to the end of theprogram.lint
file. If theprogram.lint
file does not exist, it is created.* To allow escalation of permissions:
This example shows "tee" being used to bypass an inherent limitation in the
sudo command. "sudo" is unable to pipe the standard output to a file. By dumping its stdout stream into/dev/null
, we also suppress the mirrored output in the console.4DOS and 4NT
This example searches the file
wikipedia.txt
for any lines containing the string "4DOS", makes a copy of the matching lines in4DOS.txt
, sorts the lines, and writes them to the output file4DOSsorted.txt
:Windows PowerShell
* To view and save the output from a command at the same time:
This displays the standard output of the command
at the console window, and simultaneously saves a copy of it in the fileipconfig OutputFile.txt
.* To display and save all running processes, filtered so that only programs starting with svc and owning more than 1000 handles are outputted:
This example shows that the piped input for "tee" can be filtered and that "tee" is used to display that output, which is filtered again so that only processes owning more than 1000 handles are displayed, and writes the unfiltered output to the file
ABC.txt
.ee also
*
Pipeline (Unix)
*List of Unix programs
*A FAQ on Linux I/O Redirection [http://www.cpqlinux.com/redirect.html "Linux I/O Redirection"] with teeReferences
*man|cu|tee|SUS|duplicate standard input
Wikimedia Foundation. 2010.