一、/dev/null
null是一个名叫null小桶的东西,如果命令的输出不想要即想丢弃输出的内容,既不想在标准输出与不想重定向到某个文件,就可将命令的输出重定向到/dev/null。这样做的好处是不会因为输出的内容过多而导致文件大小不断的增加。
二、command >/dev/null 与 command >/dev/null 2>&1
command > /dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。 一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。这时可以用command >/dev/null 2>&1 这样标准输出与标准错误输出都会被丢弃。1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标准输出。
表示输出重定向,如果 command > /usr/log 那其会覆盖log中原来的记录。可以使用>>输出重定向来向文件尾部增加输出记录。
如何让 linux unzip 命令 不输出结果
unzip xx.zip > /dev/null 2>&1
unzip xx.zip > /dev/null
前半部分是将标准输出重定向到空设备,
后面的2>&1就将标准错误输出重定向到标准输出,这样最终也是到空设备。
/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]。
在程序员行话,尤其是Unix行话中,/dev/null被称为比特桶[2]或者黑洞。
在Unix程序员使用的科技行话中和隐喻经常使用这一概念,例如“请将投诉发送到/dev/null”,“我的邮件被存档到了/dev/null”,以及“重定向到/dev/null”,分别表示:“不要拿投诉来烦我”,“我的邮件被删掉了”,和“一边去”。iPhone Dev Team通常使用“可以向/dev/null捐款”,意为他们不接受捐款。
空设备也是科技幽默的常用主题之一,例如警告用户系统的/dev/null已经使用了98%。1995年愚人节一家德国杂志c’t写道,一种增强的/dev/null芯片可以借由将数据转换成内部LED的闪光以有效的处理输入数据。
苹果公司也曾在2003年利用这个概念做过一则广告,“将其它牌子的UNIX都送进/dev/null”,表明运行Mac OS X的PowerBook包含了全部UNIX特性[3]。