输入和输出重定向

参考:Shell 输入/输出重定向

标准文件

一般情况下,每个Unix/Linux命令运行时都会打开三个文件:

  • 标准输入文件(stdin):stdin的文件描述符为0Unix程序默认从stdin读取数据
  • 标准输出文件(stdout):stdout的文件描述符为1Unix程序默认向stdout输出数据
  • 标准错误文件(stderr):stderr的文件描述符为2Unix程序会向stderr流中写入错误信息

默认情况下,stdinstdoutstderr指向的都是当前终端

重定向

可通过以下命令进行重定向

如果需要将标准错误文件重定向到文件,操作如下:

command 2 > file
# 追加方式
command 2 >> file

如果将stdoutstderr合并在一起重定向,操作如下:

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