El comando tee muestra la salida de un comando y también la copia o envía a un fichero o variable. Es utilizado, principalmente, en conjunto con las tuberías (pipes) y filtros. Cuando necesitamos ver la salida de un comando en pantalla (standar output) y también guardar dicha salida al mimo tiempo en un fichero utilizaremos el comando tee, como en el siguiente ejemplo.
ps a | tee ps.txt
Notemos que no es necesario utilizar el operador (>) de salida estándar con el comando tee. El nombre del fichero es utilizado como el argumento para tee.
Si repetimos otro comando y utilizamos tee para enviar dicha salida al mismo fichero este será sobreescrito con la nueva salida. Si queremos que en vez de ser sobreescrito el contenido sea añadido a dicho fichero dejando intacto el anterior, lo haremos con la opción -a.
ps aux | tee -a ps.txt
Es importante aclarar que tee no separa la salida de errores (stderr) de la salida estándar (stdout). Ambas van al mismo lugar.
Podemos usar tee para enviar la salida a dos comandos separados.
command1 | tee >(command2) >(command2) | command4
Más recursos: Wikipedia | 101 Linux Hacks | Bashshell