今天一个朋友突然在自己的维护的Linux中, /var/spool/cron/root 中看到了以下的内容:
30 19 * * * /usr/bin/**dcon.sh > /dev/null 2>&1
59 23 * * 1-7 /home/s**-log/squid-log.renew > /dev/null 2>&1
50 1 * * 1-7 /usr/local/src/**log.sh > /dev/null 2>&1
20 2 * * 1-7 /home/sq**-log/**log > /dev/null 2>&1
30 2 * * 1-7 /home/sq**-log/**log.01
30 22 * * * /bin/**sync > /dev/null 2>&1
00 8 * * 1-7 /home/**-log/rmcore > /dev/null 2>&1
00 16 * * 1-7 /home/**-log/rmcore > /dev/null 2>&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 这样的写法.

/dev/null 2>1 详解相关推荐

  1. nohup /dev/null 21 含义详解

    nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终端之后继续运行相应的进程.nohup就是不挂起的意思( n o ...

  2. 安卓 on a null object reference_详解Object.prototype.__proto__

    Object.prototype 的 __proto__ 属性是一个访问器属性(一个getter函数和一个setter函数), 暴露了通过它访问的对象的内部[[Prototype]] (一个对象或 n ...

  3. mysql if is not null_MySQL IS NULL判断值是否为NULL及优化详解

    摘要:在本教程中,您将学习如何使用MySQL IS NULL运算符来判断值是否为NULL. MySQL IS NULL运算符 要判断值是否为NULL,请使用IS NULL运算符.以下是IS NULL运 ...

  4. Linux 输入输出重定向 2>/dev/null和>/dev/null 2>1和2>1>/dev/nul

    From:https://www.cnblogs.com/520playboy/p/6275022.html 2>/dev/null  和  >/dev/null 2>&1  ...

  5. /dev/null表示的意思

    在Linux/Unix中,一般在屏幕上面看到的信息是从stdout (standard output) 或者 stderr (standard error output) 来的.许多人会问,outpu ...

  6. >/dev/null表示的意思

    在Linux/Unix中,一般在屏幕上面看到的信息是从stdout (standard output) 或者 stderr (standard error output) 来的.许多人会问,outpu ...

  7. Qt之QMessageBox详解

    直接上官方文档 //提示型 static StandardButton information(QWidget *parent, const QString &title,const QStr ...

  8. RHEL7基本命令详解

    Terminal TTY TTY是TeleTYpe的一个老缩写. Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,和古老 ...

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

    1.概论 -- 来自维基的解释 /dev/null  : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一 ...

  10. linux下详解shell中/dev/null 21

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

最新文章

  1. DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
  2. 讲真!朋友圈别设置三天可见!
  3. 时间序列 预处理 python_【Python算法】时间序列预处理
  4. html5+shim脚本,HTML5探秘:用requestAnimationFrame优化Web动画
  5. linux c语言编写聊天室mysql_Linux平台上用C语言实现与MySQL数据库的连接
  6. BeyondCompare3提示许可密钥过期完美解决方法:3281-0350
  7. php发布文章时 未定义索引,php – 上传文件时未定义的索引
  8. 基于DEAP库的python进化算法-5.遗传算法求解TSP问题的改进
  9. 详解由VS 2010生成的Bug报告(2) - 报告的内容
  10. shell输出重定向
  11. Django-天天生鲜项目-用户登录
  12. js解压gzip(解决RangeError: Maximum call stack size exceeded)
  13. 什么是 PHP 过滤器?为什么使用过滤器?
  14. 计算机博士复试英语自我介绍,博士复试面试英语自我介绍
  15. HTML简单制作一个网页
  16. 显卡内存一直被占用解决方式
  17. window 64/32 安装配置 eclipse+jdk+mysql+tomcat+maven
  18. thingsboard往kafka推送数据
  19. PDF如何旋转其中一页?
  20. 以爬取知乎为例,进行python 多进程爬虫性能分析

热门文章

  1. matlab根据成绩划分等级_学生成绩分等级:ABCD,分优秀 良好合格 不及格,一组公式即可解决...
  2. linux文件目录结构
  3. 钉钉小程序------子组件监测父组件的数据更新
  4. python whl 包制作
  5. 【luogu P3378 堆】 模板
  6. Python正则表达式如何进行字符串替换实例
  7. vue.js插件使用(01) vue-resource
  8. linux禁用锁定和解除解锁用户账号的方法
  9. SQL中删除重复的行(重复数据),只保留一行 转
  10. stm32上的Lava虚拟机开发进度汇报(3)