tee命令使用

如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,那么tee命令就派上用场了。

用法:

tee [OPTION]... [FILE]...

用途: 将从标准输入中读取的内容拷贝到标准输出和指定的文件(可以是多个文件)

-a 表示追加的方式写入文件,默认是w的方式写入

如果文件是-,则将标准输入的内容再拷贝一份到标准输出

[hupeng@hupeng-vm shell]$ls test/
pwd.sh
[hupeng@hupeng-vm shell]$ls test/ | tee 
pwd.sh
[hupeng@hupeng-vm shell]$ls test/ | tee - #将标准输入的内容再拷贝一份 输出到屏幕
pwd.sh
pwd.sh
[hupeng@hupeng-vm shell]$ls test/ | tee - - #将标准输入的内容再拷贝2份 输出到屏幕
pwd.sh
pwd.sh
pwd.sh
[hupeng@hupeng-vm shell]$ls test/ | tee 1.txt 2.txt #将标准输入的内容拷贝到1.txt 和2.txt,同时输出到屏幕
pwd.sh
[hupeng@hupeng-vm shell]$cat 1.txt 
pwd.sh
[hupeng@hupeng-vm shell]$cat 2.txt 
pwd.sh
[hupeng@hupeng-vm shell]$ls test/ | tee 1.txt 2.txt  #默认是w的方式写入文件
pwd.sh
[hupeng@hupeng-vm shell]$cat 1.txt 
pwd.sh
[hupeng@hupeng-vm shell]$cat 2.txt 
pwd.sh
[hupeng@hupeng-vm shell]$ls test/ | tee -a 1.txt 2.txt  #-a 指定以append的方式写入文件
pwd.sh
[hupeng@hupeng-vm shell]$cat 1.txt 
pwd.sh
pwd.sh
[hupeng@hupeng-vm shell]$cat 2.txt 
pwd.sh
pwd.sh
[hupeng@hupeng-vm shell]$echo a1 > a1
[hupeng@hupeng-vm shell]$echo a2 > a2
[hupeng@hupeng-vm shell]$echo a3 > a3
[hupeng@hupeng-vm shell]$cat a*
a1
a2
a3
[hupeng@hupeng-vm shell]$chmod 000 a1
[hupeng@hupeng-vm shell]$cat a*
cat: a1: Permission denied
a2
a3
[hupeng@hupeng-vm shell]$cat a* 2>/dev/null  #将stderr输出到空洞文件中
a2
a3
[hupeng@hupeng-vm shell]$#管道将一端的标准输出作为另一端的输入
[hupeng@hupeng-vm shell]$cat a* | tee out.txt 
cat: a1: Permission denied
a2
a3
[hupeng@hupeng-vm shell]$cat out.txt 
a2
a3
[hupeng@hupeng-vm shell]$cat a* 2>&1 | tee out.txt #将stderr从定向到stdout
cat: a1: Permission denied
a2
a3
[hupeng@hupeng-vm shell]$cat out.txt 
cat: a1: Permission denied
a2
a3
[hupeng@hupeng-vm shell]$cat a* | tee out.txt | cat -n # -n 表示显示行号
cat: a1: Permission denied
     1    a2
     2    a3
[hupeng@hupeng-vm shell]$cat a* 2>&1 | tee out.txt | cat -n
     1    cat: a1: Permission denied
     2    a2
     3    a3
原文地址:https://www.cnblogs.com/hupeng1234/p/6738166.html