码迷,mamicode.com
首页 > 其他好文 > 详细

2>&1

时间:2017-09-27 19:14:48      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:结果   错误   tps   com   put   tar   amp   lis   垃圾   

http://www.cnblogs.com/caolisong/archive/2007/04/25/726896.html

nohup /mnt/Nand3/H2000G  >/dev/null  2>&1  &
      对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,

     实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了.其中0表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。

 

为何2>&1要写在后面?      

      command > file 2>&1 
      首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。 
      command 2>&1 >file 
      2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。

 

 

https://en.wikipedia.org/wiki/Redirection_(computing)

0 stdin    Standard input

1 stdout  Standard output

2 stderr  Standard error

 

2>&1

标签:结果   错误   tps   com   put   tar   amp   lis   垃圾   

原文地址:http://www.cnblogs.com/chucklu/p/7603052.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!