文件描述符

Linux系统预留可三个文件描述符:0、1和2,他们的意义如下所示:

  • 0 标准输入(stdin)
  • 1 标准输出(stdout)
  • 2 标准错误(stderr)

    Shell 输出

    Shell 屏蔽所有输出

  1. >/dev/null 2>&1

认情况下就是1,标准输出,所以一般都省略,也就是等同于 1>/dev/null 2>&1。标准输出重定向到了/dev/null,而标准错误又重定向到了标准输出,所以就成了标准输出和标准错误都重定向到了/dev/null

Shell 屏蔽错误输出

  1. 2>/dev/null

意思就是把错误输出到 “黑洞” 可以实现屏蔽命令执行时显示的错误

shell 只显示标准输出

  1. 2>&1 >/dev/null

意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕