转载自:http://dos2unix.cn/link/480

1. 标准输入stdin文件描述符为0,标准输出stdout文件描述符为1,标准错误stderr文件描述符为2

2. /dev/null 空设备,相当于垃圾桶

3. 重定向符号:>

3. 2>1 与 2>&1 的区别

  • 2>1, 把标准错误stderr重定向到文件1中
  • 2>&1,把标准错误stderr重定向到标准输出stdout

4. 举例:

假设有脚本test.sh,内容如下,t是一个不存在的命令,执行脚本进行下面测试。

Shell
 
1
2
3
# cat test.sh
t
date

标准输出重定向到log,错误信息输出到终端上,如下:

Shell
 
1
2
3
4
# ./test.sh > log
./test.sh: line 1: t: command not found
# cat log
Thu Oct 23 22:53:02 CST 2008

删除log文件,重新执行,这次是把标准输出定向到log,错误信息定向到文件1

Shell
 
1
2
3
4
5
6
7
# ./test.sh > log 2>1
#
# cat log
Thu Oct 23 22:56:20 CST 2008
# cat 1
./test.sh: line 1: t: command not found
#

把标准输出重定向到log文件,把标准错误重定向到标准输出,也就是把错误信息和输出信息全都重定向到log里面

Shell
 
1
2
3
4
5
6
# ./test.sh > log 2>&1
#
# cat log
./test.sh: line 1: t: command not found
Thu Oct 23 22:58:54 CST 2008
#

把错误信息重定向到空设备

Shell
 
1
2
3
# ./test.sh 2>/dev/null
Thu Oct 23 23:01:07 CST 2008
#

把标准输出重定向到空设备

Shell
 
1
2
3
# ./test.sh >/dev/null
./test.sh: line 1: t: command not found
#

把标准输出和标准错误全重定向到空设备

Shell
 
1
2
#./test.sh >/dev/null 2>&1
#

把标准输出和标准错误全重定向到空设备

Shell
 
1
2
#./test.sh >/dev/null 2>&1
#

Shell的>/dev/null、2>&1、2>1的更多相关文章

  1. shell之“>/dev/null 2>&1”

    shell之“>/dev/null 2>&1” http://ixdba.blog.51cto.com/2895551/526442 今天在自己的一个技术群中又被问道了这么一个问题 ...

  2. Shell脚本 /dev/null 2>&1详解

    Shell脚本---- /dev/null 2>&1详解   1.可以将/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. ...

  3. Shell脚本———— /dev/null 2>&1详解

    1.可以将/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和 ...

  4. shell之“>/dev/null 2>&1” 详解(转)

    今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚! shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以 ...

  5. Linux Shell下”>/dev/null 2>&1“相关知识说明

    0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 &  == ...

  6. [转]Linux Shell 1>/dev/null 2>&1 含义

    shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件>  :代表 ...

  7. shell中>/dev/null 2>&1

    本文转自http://www.kissyu.org/ 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬 ...

  8. linux下详解shell中>/dev/null 2>&1

    前言 相信大家经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>& ...

  9. shell 中>/dev/null 2>&1含义

    shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:“>/dev/null 2>&1” 为五 ...

随机推荐

  1. U盘安装centos6.4:缺少iso 9660映像

    方法: 1.下载安装的ISO文件    到www.centos.org网站下载对应的Centos 6.4安装文件.下载站点我一般选择网易镜像站点    64位下载参考链接:http://mirrors ...

  2. Android Studio Error:Connection timed out: connect.解决方案

    遇到了这样的错误: Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the ...

  3. PHP关于=>和->以及::的用法

    1.=>的用法 在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如: $css=array('style'=>'0',‘color’=>‘green‘) ...

  4. IOS设计模式第四篇之装饰设计模式的类别设计模式

    装饰设计模式 装饰设计模式动态的添加行为和责任向一个对象而不修改他的任何代码.他是你子类化修改类的行为用通过另一个对象的包装的代替方法. 在Objective-c里面有很多这种设计模式的实现,像cat ...

  5. linux c++环境

    set expandtab set autoindent set smartindent

  6. Delphi Code Editor 之 基本操作

    Delphi Code Editor 之 基本操作 毫无疑问,Delphi是高度可视化的.这是使用Delphi进行编程的最大好处之一.当然,任何一个有用的程序中都有大量手工编写的代码.当读者开始编写应 ...

  7. 关于SQL优化(转载,格式有调整)

    一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...

  8. 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上

    版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...

  9. xmlWriter

    MemoryStream msXml = new MemoryStream(); XmlTextWriter xmlWriter = new XmlTextWriter(msXml, Encoding ...

  10. jQuery Sizzle选择器(一)

    1.浏览器对css选择器采取逆向(从右向左)解析的原因: 如果正向解析,例如「div div p em」,我们首先就要检查当前元素到 html 的整条路径,找到最上层的div,再往下找,如果遇到不匹配 ...