输入和输出重定向¶
标准文件¶
一般情况下,每个Unix/Linux命令运行时都会打开三个文件:
- 标准输入文件(
stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据 - 标准输出文件(
stdout):stdout的文件描述符为1,Unix程序默认向stdout输出数据 - 标准错误文件(
stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息
默认情况下,stdin、stdout和stderr指向的都是当前终端
重定向¶
可通过以下命令进行重定向

如果需要将标准错误文件重定向到文件,操作如下:
command 2 > file
# 追加方式
command 2 >> file
如果将stdout和stderr合并在一起重定向,操作如下:
command > file 2>&1
# 追加方式
command >> file 2>&1
/dev/null¶
/dev/null是一个特殊文件,写入该文件的内容将被舍弃,无法从/dev/null中读取内容,起到禁止输出的作用
# 重定向输出到/dev/null
command > /dev/null
# 重定向stdout和stderr
command > /dev/null 2>&1