Linux标准输出(stdout)与标准错误(stderr)重定向

文件描述符

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

语法:

语法 终端显示 文件显示 文件存储
标准输出(stdout) 标准错误(stderr) 标准输出(stdout) 标准错误(stderr)
> no yes yes no 覆盖
>> no yes yes no 追加
2> yes no no yes 覆盖
2>> yes no no yes 追加
&> no no yes yes 覆盖
&>> no no yes yes 追加
| tee yes yes yes no 覆盖
| tee -a yes yes yes no 追加
n.e. (*) yes yes no yes 覆盖
n.e. (*) yes yes no yes 追加
|& tee yes yes yes yes 覆盖
|& tee -a yes yes yes yes 追加

示例:

command > output.txt 2>&1
或
command &> output.txt
  • 让命令标准输出和错误以覆盖模式重定向至output.txt
    (让命令标准输出以覆盖模式重定向至output.txt,并设置让stderr标准错误重定向到stdout标准输出)
  • 2>&1中的&是转义字符,用于识别描述符