博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么要用 /dev/null 2>&1 这样的写法
阅读量:6756 次
发布时间:2019-06-26

本文共 585 字,大约阅读时间需要 1 分钟。

为什么要用 /dev/null 2>&1 这样的写法.

这条命令的意思是将标准输出和错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃.

下面就来说一下, command > file 2>file   与command > file 2>&1 有什么不同的地方.

       首先~command > file 2>file 的意思是将命令所产生的标准输出信息,和错误的输出信息送到file 中.command   > file 2>file 这样的写法,stdout和stderr都直接送到file中, file会被打开两次,这样stdout和stderr会互相覆盖,这样写相当使用了FD1和FD2两个同时去抢占file 的管道.
       而command >file 2>&1 这条命令就将stdout直接送向file, stderr 继承了FD1管道后,再被送往file,此时,file 只被打开了一次,也只使用了一个管道FD1,它包括了stdout和stderr的内容.
       从IO效率上,前一条命令的效率要比后面一条的命令效率要低,所以在编写shell脚本的时候,较多的时候我们会用command > file 2>&1 这样的写法.

转载于:https://www.cnblogs.com/leonxyzh/archive/2012/09/08/7289181.html

你可能感兴趣的文章
OrderOnline——数据库设计(已更新)
查看>>
(四)虚拟存储管理器的页面调度
查看>>
python中的StringIO模块
查看>>
玩转Windows CPU占用时间 ——编程之美 读书笔记1.1
查看>>
苹果官方的图标大小的调整
查看>>
Maven整理
查看>>
观《构建之法》有感
查看>>
maven环境快速搭建(转)
查看>>
Cacti监控mysql数据库服务器实现过程
查看>>
Python高级编程–正则表达式(习题)
查看>>
HDU 5742 It's All In The Mind
查看>>
ubuntu和Windows 下的GIF动图工具
查看>>
外接程序“VMDebugger”未能加载或者导致了异常。是否希望移除该外接程序?
查看>>
percona-toolkit 工具介绍
查看>>
[CF] 219D Choosing Capital for Treeland
查看>>
正式学习 react(三)
查看>>
django 模型-----定义模型
查看>>
【转】关于线段树
查看>>
执行对象Statement、PreparedStatement和CallableStatement详解 JDBC简介(五)
查看>>
luogu P3393 逃离僵尸岛
查看>>