>/dev/null 2>&1 这句话的含义

1表示标准输出,2表示标准错误输出

2>&1表示将标准错误输出重定向到标准输出,这样,程序或者命令的正常输出和错误输出就可以在标准输出输出(也就是一起输出)。

一般来讲标准输出和标准错误输出都是屏幕,那为什么还要这么用呢?原因是标准输出的重定向,例如:
dir > out.txt 
表示标准输出重定向到out.txt文件。此时如果dir命令出错,那么错误信息不会输出到out.txt文件,错误信息仍然会输出到屏幕——标准错误输出。为了使正确的信息和错误的信息都重定向到out.txt文件,那么需要将错误信息的标准错误输出重定向到标准输出。即命令如下:
dir > out.txt 2>&1

重定向到null是一个道理。
dir > /dev/null 2>&1

null是一个名叫null小桶的东西,将输出重定向到它的好处是不会因为输出的内容过多而导致文件大小不断的增加。其实,你就认为null就是什么都没有,也就是,将命令的输出扔弃掉了。

这其实就是丢弃你的标准输出和错误输出,当你不希望某一命令或程序产生任何输出的时候,就可以这样做。

时间: 2024-10-05 05:57:01

>/dev/null 2>&1 这句话的含义的相关文章

>/dev/null 2>&1 这句话的含义及使用的意义

一般在shell包括dos下都可能会这样使用. null是一个名叫null小桶的东西,将输出重定向到它的好处是不会因为输出的内容过多而导致文件大小不断的增加.其实,你就认为null就是什么都没有,也就是,将命令的输出扔弃掉了. 1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标准输出,这样,程序或者命令的正常输出和错误输出就可以在标准输出输出. 一般来讲标准输出和标准错误输出都是屏幕,那为什么还要这么用呢?原因是标准输出的重定向.你的例子是重定向到了null,如果重定向

>/dev/null 2>&1的含义

转帖:http://www.cnblogs.com/dkblog/archive/2009/07/31/1980722.html os.system("/etc/init.d/winbind stop >/dev/null 2>&1") >/dev/null 将输出重定向到/dev/null,这是个空设备,也就是忽略其输出.2>&1 是将错误输出到标准输出,如果在控制台调试,也就是屏幕上,方便调试.有3个默认的i/o,0是标准输入,一般是键盘:1

dev/null和dev/zero区别 以及换回设备(loopback device)

转自:http://blog.chinaunix.net/uid-20729677-id-765105.html dev/zero,是一个输入设备,你可你用它来初始化文件. /dev/zero------该设备无穷尽地提供0(是ASCII 0 就是NULL),可以使用任何你需要的数目--设备提供的要多的多.他可以用于向设备或文件写入NULL. 使用/dev/zero 像/dev/null一样, /dev/zero也是一个伪文件, 但它实际上产生连续不断的null的流(二进制的零流,而不是ASCI

特殊文件: /dev/null和/dev/tty

转自:http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它的数据,换句换说,当程序将数据写入到此文件时,会认为它已经成功完成写入数据的操作,但实际上什么事都没有做.如果你需要的是命令的退出状态,而非它的输出,此功能会非常有用,见如下Shell代码:    /> vi test

把 >/dev/null 2>&1 干掉!

我们项目组几乎所有的java应用(不依赖tomcat运行),在启动时,都是这么个启动命令: nohup java -server $JAVA_OPTS -classpath $CORE_CLASSPATH com.jd.chat.core.CoreServer >/dev/null 2>&1 & 也就是说应用的全部日志会输出到/dev/null里面,说白了就是被黑洞吸收了. 今天启动一个应用时,观察这个应用的log4j日志,发现打一半不打了,没有报错,没有输出启动成功的日志,也

两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对

equals方法对比的是元素的值,可以hashcode不同, 但是如果我们override了自己的equals方法同时也应该重载hashcode方法.假设有obj1和obj2相等, 这时候obj1作为key放入map后,用obj2作为key来获取obj1存入的对象,可能是获得为null.因为Map会先用自己的hash方法处理obj2的hashcode,然后根据这个值再去查找.因为obj1和obj2的hashcode不同,则拿不到obj1存入的值.当然hashcode的重写也要有一定的技巧,否则会

shell中>/dev/null 2>&1

本文转自http://www.kissyu.org/ 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的"玄机". shell重定向介绍 就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置.在交互式的程序中,输入来自用户的键

crontab 常见 /dev/null 2>&1 详解

大部分 crontab 计划任务,在命令行末尾都会带 >/dev/null 2>&1,它的作用是什么呢? 以下为其详解: > 代表重定向: /dev/null 代表空设备文件,相当于回收站.null是一个名叫null小桶的东西,将输出重定向到它的好 处是:不会因为输出的内容过多而导致文件大小不断的增加,也就是将命令的输出扔掉了. 1 表示stdout标准输出,系统默认值是1,所以">/dev/null" 等同于 "1>/dev/null&

关于/dev/null 和 /dev/zero文件详解以及误删/dev/null和/dev/zero的解决方法和利用/dev/zero进行磁盘IO测试方法

1.概论 -- 来自维基的解释 /dev/null  : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF.在程序员行话,尤其是Unix行话中,/dev/null 被称为位桶(bit bucket)或者黑洞(black hole).空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件.这些操作通常由重定向完成. /dev/zero  : 在类UNIX 操作系统中, /dev/zero 是