Linux执行命令、脚本或程序后,有两种输出,一个标准输出,另外一个是错误输出。
具体用法和区别如下:
ll > log.txt # 标准输出重定向到log.txt
ll 2> err.txt # 错误输出重定向到err.txt
ll > log.txt 2> &1 # 标准输出和错误输出重定向到log.txt
ll > /dev/null 2> &1 # 什么都不输出
值得注意的是,有些程序将日志由标准输出流中输出,如hadoop fs -ls;又有些程序日志是从错误输出流中输出,如hadoop distcp。
因此通常情况下,采用第三种方式(如 ll > log.txt 2> &1)将两个输出流都重定向到一起输出,方便日志的采集。
延伸阅读: