# Tee 命令的使用 tee 命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的 stdin。简单的说就是把数据重定向到给定文件和屏幕上。 存在缓存机制,每 1024 个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到 1024 个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。 ## 语法 ```blk tee (选项) (参数) ``` ## 选项 ```blk -a:向文件中重定向时使用追加模式; -i:忽略中断(interrupt)信号。 ``` ## 参数 ```blk 文件:指定输出重定向的文件。 ``` 在终端打印 stdout 同时重定向到文件中: ```shell ls | tee out.txt 1.sh 1.txt 2.txt eee.tst EEE.tst one out.txt string2 www.pdf WWW.pdf WWW.pef ``` ```shell [root@localhost text]# ls | tee out.txt | cat -n 1.sh 1.txt 2.txt eee.tst EEE.tst one out.txt string2 www.pdf WWW.pdf WWW.pef ``` ## 将 Shell 全部内容输出到文件 ```sh 2>&1 | tee ``` * 0:标准输入 * 1:标准输出 * 2:标准错误信息输出 * \<:重定向输入 * \>:将内容全局覆盖式的加入文件,相当于删除该文件并重新建立该文件,再写入的效果 * \>!:如果存在则覆盖 * \>&:执行时屏幕上所产生的任何信息写入指定的文件中 * \>>:追加到文件中 * \>>&:屏幕上的信息追加到文件中