参考链接:
linux命令详解——tee
linux tee命令_Linux tee命令示例
深入理解Linux shell中2>&1的含义(全网最全,看完就懂)
https://mp.weixin.qq.com/s?Shell:管道与重定向
作用: 当我们即想要在屏幕上看到输出内容又想保存输出到文件就可以用tee,tee通常与管道符搭配使用。
echo 'HELLO WORLD' | tee out1.txt out2.txt # 覆盖。写入多个文件 echo 'HELLO WORLD PART 2' | tee -a out1.txt out2.txt # 追加。写入多个文件 ls "*" 2>&1 | tee ls.txt # 把标准错误也被tee读取 ls -l | tee out3.txt > /dev/null # 通过将tee的stdout重定向到/dev/null我们可以将输出隐藏到控制台。
管道符|是将左边标准输出重定向到了管道符右边的标准输入,而tee的做了标准输出和存入文件两件事,(shell中都是使用标准输入输出对管道进行读写的,例如ls | grep main.c就是将 ls 的标准输出写到了管道写端,而 grep 的标准输入则从管道读端读取),所以可以采用ls -l | tee out3.txt > /dev/null只写文件而不标准输出,同时ls “*” 2>&1 | tee ls.txt 把标准错误输出也被tee读取,是因为2指向了标准错误输出,>&是固定搭配,1指向标准输出,即屏幕,所以这行命令是将标准输出和标准错误输出都被管道符读取给tee.



