欢迎光临
我们一直在努力

linux的标准输出重定向2>&1 1>

Linux有三个标准IO,stdin,stdout,stderr,对应的文件描述符是0,1,2.
2>&1的意思就是将标准错误重定向到标准输入上,
为什么还要一个&符号,是因为&后面必须要跟文件描述符,
否则2>1的意思就成了将标准错误重定向到文件名为1的文件中了。
1>/dev/null的意思是将标准输出重定向到一个/dev/null的设备文件,null表示一个空设备文件,可以理解为null是个无底洞。
所以2>&1 1>/dev/null,这一句就是将标准错误重定向到标准输入,同时标准输出又重定向到一个/dev/null的设备文件,也就是stdin/stdout都重定向到一个/dev/null的设备文件。
如下例子:
xxx_process 2>&1 1>/dev/null &,
启动一个进程名为xxx_process 将其运行的输出log重定向到/dev/null文件上去,
也就是该进程中printf就打印不了log,同时该进程后台运行。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。