标准输入:键盘,文件标识符-0,/dev/stdin
标准输出:终端,文件标识符-1,/dev/stdout
标准错误输出:终端,文件标识符-2,/dev/stderr
输入重定向:<
输出重定向:>, >>
> 如果文件不存在,则自动建立一个。第二次输出时,会覆盖前一次的内容。
>> 第二次的输出内容会追加到文件中,而不是覆盖。
command > outfile 2>&1
输出到outfile。2>&1表示标准错误输出重定向到标准输出的位置,而标准输出的内容已经重定向到outfile,所以错误输出也会到outfile中。
即标准输出与标准错误都到outfile中。
command 2>&1 >outfile
标准错误输出重定向到标准输出中,此时标准输出还在终端,因此标准错误也在终端。然后标准输出到outfile中去了,而标准错误还是在终端。
即标准输出到outfile,但标准错误输出仍然在终端。
ls >/dev/null
dev/null是一个垃圾箱,表示的含义为不显示。