Linux运行某些命令时,想把输出作为日志记录下来,便于查看。普通的重定向指令只会记录标准输出,而命令出错的信息却无法记录,给记录带来了不变,下面介绍如何将标准输出和标准错误输出都重定向到日志记录。
1.shell输出
shell输出中1表示标准输出,2表示标准错误输出,那么
2>&1就表示将标准错误输出重定向到标准输出,这样程序或者命令的正常输出和错误输出就都可以在标准输出中输出,这时,在把标准输出输出到日志里就可以实现目的。
2.重定向到输出日志
1)方法1
command > result.log 2>&1
2)方法2
command 2>&1 | tee result.log
如编译过程日志记录:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- > build.log 2>&1
或
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log
2者的区别为前者在终端中没有输出,但在日志有输出,后者在终端和日志都有输出。