Shell中 1>/dev/null 2>&1 含义
来源:互联网 发布:淘宝旗舰店怎么申请 编辑:程序博客网 时间:2024/04/30 12:09
转载自:http://blog.csdn.net/sunboy_2050/article/details/9288353
shell中可能经常能看到:1>/dev/null 2>&1
在shell中,每个进程都和三个系统文件 相关联:标准输入stdin,标准输出stdout、标准错误stderr,三个系统文件的文件描述符分别为0,1、2。所以这里2>&1 的意思就是将标准错误也输出到标准输出当中。
/dev/null :代表空设备文件
> :代表重定向到哪里
1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 :表示stderr标准错误
& :表示等同于的意思,2>&1,表示2的输出重定向等同于1
1 > /dev/null 2>&1 语句含义:
1 > /dev/null : 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,就是不显示任何信息。
2>&1 :接着,标准错误输出重定向(等同于)标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
实例解析:
cmd >a 2>a 和 cmd >a 2>&1 为什么不同?
cmd >a 2>a :stdout和stderr都直接送往文件a ,a文件会被打开两遍,由此导致stdout和stderr互相覆盖。
cmd >a 2>&1 :stdout直接送往文件a ,stderr是继承了FD1的管道之后,再被送往文件a 。a文件只被打开一遍,就是FD1将其打开。
两者的不同点在于:
cmd >a 2>a 相当于使用了FD1、FD2两个互相竞争使用文件 a 的管道;
cmd >a 2>&1 只使用了一个管道FD1,但已经包括了stdout和stderr。
从IO效率上来讲,cmd >a 2>&1的效率更高。
shell中可能经常能看到:1>/dev/null 2>&1
在shell中,每个进程都和三个系统文件 相关联:标准输入stdin,标准输出stdout、标准错误stderr,三个系统文件的文件描述符分别为0,1、2。所以这里2>&1 的意思就是将标准错误也输出到标准输出当中。
/dev/null :代表空设备文件
> :代表重定向到哪里
1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 :表示stderr标准错误
& :表示等同于的意思,2>&1,表示2的输出重定向等同于1
1 > /dev/null 2>&1 语句含义:
1 > /dev/null : 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,就是不显示任何信息。
2>&1 :接着,标准错误输出重定向(等同于)标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
实例解析:
cmd >a 2>a 和 cmd >a 2>&1 为什么不同?
cmd >a 2>a :stdout和stderr都直接送往文件a ,a文件会被打开两遍,由此导致stdout和stderr互相覆盖。
cmd >a 2>&1 :stdout直接送往文件a ,stderr是继承了FD1的管道之后,再被送往文件a 。a文件只被打开一遍,就是FD1将其打开。
两者的不同点在于:
cmd >a 2>a 相当于使用了FD1、FD2两个互相竞争使用文件 a 的管道;
cmd >a 2>&1 只使用了一个管道FD1,但已经包括了stdout和stderr。
从IO效率上来讲,cmd >a 2>&1的效率更高。
0 0
- Shell中 1>/dev/null 2>&1 含义
- linux shell中 /dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- Linux Shell 1>/dev/null 2>&1 含义
- shell文件>/dev/null 2>&1 的含义
- >/dev/null 2>&1 含义
- shell中$0,$?,$!等的特殊用法以及1>/dev/null 2>&1的含义
- shell中“>/dev/null 2>&1”详解
- shell中>/dev/null 2>&1 解释
- 剑指offer_面试题24_二叉搜索树的后序遍历序列(递归)
- HDu 2544 最短路【dijkstra & floyed & SPFA 】
- Leetcode#47||
- hive 数据导入的四种方法
- typedef关键字与结构体、结构体指针的定义
- Shell中 1>/dev/null 2>&1 含义
- Android 自定义圆形进度条
- 天天团购二次开发相关(更新中)
- Java集合源码剖析(三)【TreeMap、LinkedHashmap】
- HTML滚动文字代码 marquee标签
- 【Python学习笔记】-生成验证码图片
- 两个链表的合并问题
- C# System.Reflection
- 【机房收费系统】总览