今天一个朋友突然在自己的维护的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 这样的写法.
参考资料:
http://viplin.blog.51cto.com/241472/99568/

【Linux】/dev/null 21 详解相关推荐

  1. /dev/null 21 详解

    原文出处:http://blog.csdn.net/kaiwii/article/details/7308729 把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所 ...

  2. Shell: /dev/null 21详解

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

  3. linux -- /dev/null 21

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

  4. linux /dev/null 21,/dev/null 21 21 与 的意思

    在linux中,0,1,2,/dev/null,>,>>的意思: 标准输入stdin的文件描述符为0 标准输出stdout的文件描述符为1 标准错误stderr的文件描述符为2 /d ...

  5. Linux 系统命令及其使用详解

    Linux 系统命令及其使用详解 Linux 系统命令及其使用详解cat cd chmod chown cp cut名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [ ...

  6. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  7. linux dd命令使用详解

    linux dd命令使用详解 dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512, c=1, k=1024, w=2, xm=number m if=file 输入文件名, ...

  8. linux下dd命令详解

    linux下dd命令详解    名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果 ...

  9. linux的strace命令(详解)

    linux的strace命令(详解) 本文详细讲述linux下的strace命令的用法. strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用. strace 显示这些调用的 ...

最新文章

  1. 年入50万,程序员众生相
  2. mysql支持跨表delete删除多表记录
  3. DroidPilot 发布微信公众帐号啦~
  4. OSPF(Open Shortest Path First开放式最短路径优先)
  5. 谈谈cookie的弊端
  6. INLINE HOOK过驱动保护的理论知识和大概思路
  7. 第三次学JAVA再学不好就吃翔(part28)--猜数字小游戏
  8. 【数论】【杜教筛】选数(P3172)
  9. 实验6 实践课程中的程序
  10. 瓦尔都窗前的一瞥 ①
  11. (16)VHDL实现半加器与全加器
  12. Spring Data JPA教程,第一部分: Configuration(翻译)
  13. python 实现的huffman 编码压缩,解码解压缩
  14. godot 以 WebAssembly 为目标平台编译导出模板
  15. 用python分析股票收益影响因素的方法_【Python】用Python分析股票的收益和风险
  16. 成功解决 XXX--1.0-SNAPSHOT.jar中没有主清单属性
  17. 由于您的系统没有安装html help,教你解决Chrome浏览器未安装flash控件方法
  18. stellarium-0.19.3.1-win64.exe下载
  19. 反问疑问_反问疑问句的语法
  20. HTML5 学习总结(四)——canvas绘图、WebGL、SVG

热门文章

  1. scala的多种集合的使用(6)之映射Map的操作方法
  2. 能使用html/css解决的问题就不要使用JS
  3. 一个程序员的职业规划
  4. Delphi编程禁止用户关闭操作系统
  5. jQuery和Prototype兼容问题
  6. c# 中重载WndProc,实现重写“最小化”自定义功能的方法
  7. vs中c#的项目配置,平台配置
  8. C++中this指针的用法详解
  9. 恢复mysql中root用户的所有权限_如何还原MySQL root用户的全部权限
  10. python 变量类型注释_变量类型、命名规则及代码注释