在Linux中,若是想将一个程序在控制台中的输出字符输出到文件中,不保留控制台内的文字,能够用下面命令:
some_command > output.txt
命令结果会输出到output.txt中,换成>>能够追加到文件末尾
但若是想输出到文件同时,保留控制台的内容,须要使用tee命令,示例以下:
some_command | tee output.txt
有时会发现上述命令后屏幕有输出,但文件内容为空,此时多是因为some_command输出的字符从std error文件描述符输出,须要先将std error的输出导向到std output:
some_command 2>&1 | tee output.txt
其中,2表明std error,1表明std output,>&是linux中fd到fd的重定向操做符linux