写于:2016-02-25		最近一次更新:2016-02-25

Intent:

执行某些命令时屏幕会有大量信息输出 我想让这些信息在屏幕上输出的同时也保存一份到文件 方便以后查询

Trouble:

常规的管道重定向 > 和 >> 只能将信息保存到文件 而不能在保存到文件的同时还在屏幕上输出一样的信息

Oneway:

tee 命令非常适用这个场景, tee 命令可以将信息输出到屏幕的同时保存到文件存储 比如执行下面的命令时,屏幕上会显示文件的拷贝信息 而且会将拷贝信息保存一份到copyLog.txt cp -rv /etc /configBackup/etc-bak | tee /copyLog.txt 上面的命令若在拷贝过程中有错误提示,那么这些错误只会显示到屏幕 这些错误信息不会保存到copyLog.txt文件 如果想把出错信息也保存到文件,命令要变成这样 cp -rv /etc /configBackup/etc-bak 2>&1 | tee /copyLog.txt 上面的两条命令都会覆盖掉copyLog.txt文件原来的内容 如果不想覆盖原有信息,只是在原有内容后追加信息,命令这样写 cp -rv /etc /configBackup/etc-bak 2>&1 | tee -a /copyLog.txt