0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1 
2:表示错误输出(stderr)

command >/dev/null 2>&1 &  == command 1>/dev/null 2>&1 &

1)command:表示shell命令或者为一个可执行程序
2)>:表示重定向到哪里 
3)/dev/null:表示Linux的空设备文件 
4)2:表示标准错误输出
5)&1:
&表示等同于的意思,2>&1,表示2的输出重定向等于于1
6)&:表示后台执行,即这条指令执行在后台运行

1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设
备文件。


这条命令的意思就是在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空.
所以可以看出" >/dev/null 2>&1 "常用来避免shell命令或者程序等运行中有内容输出。

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 这样的写法.

2>&1 >/dev/null 

命令行的重定向什么的, 是在执行命令之前就准备好了的. 解释顺序从左至右依次进行, 2&>1 ,而1是屏幕, 所以标准错误重定向到屏幕, 再而 1>/dev/null , 即标准输出重定向到 /dev/null, 上述2>&1 >/dev/null  并不是什么同一时刻要么产生标准输出要么产生标准错误. 而是两个不同的东西.

以以下变量的方式做个解释,就很明显了,这两种方式是不同的,前者就像:

a=1

b=a

而后者就像:

b=a

a=1

&>/dev/null

// 这个就是,不管你是啥玩意儿文件描述符,通通重定向到/dev/null

http://blog.csdn.net/reyleon/article/details/11595985

http://blog.csdn.net/web256/article/details/8244286

http://blog.csdn.net/sunrier/article/details/7695839

转载于:https://www.cnblogs.com/gotodsp/p/6368277.html

Linux Shell下”/dev/null 21“相关知识说明相关推荐

  1. linux定时任务定向到空,Linux 定时任务下 /dev/null 21 相关知识说明

    今天再使用Laravel任务调度的时候,需要在linux的cron添加如下代码:php /path/to/artisan schedule:run 1>> /dev/null 2>& ...

  2. Linux下/dev/null 21 相关知识说明

    在学习Linux的过程中,常会看到一些终端命令或者程序中有 ">/dev/null 2>&1" 出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者 ...

  3. Linux下 /dev/null 21 相关知识说明

    在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者g ...

  4. Linux Shell 1/dev/null 21 含义

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

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

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

  6. shell之“/dev/null 21”

    shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:">/dev/null 2>& ...

  7. 再谈shell之“/dev/null 21”

    今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚! shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以 ...

  8. aix 超过一天的文件_Aix 6.1下 /dev/null 21 文件过大导致根目录爆满

    原因: 这是Aix6107系统下cas_agent软件的一个bug,原因是脚本写错了 排查过程: 1. 查看是哪个文件夹或哪个文件过大 du -axg /|sort -rn|head ls -ltr  ...

  9. linux shell 2 /dev/null的解释

    那个2>/dev/null是如果你的命令出错的话,错误报告直接就删除了.不会显示在屏幕上,或者是以邮件的形式发给你了. [test @test test]# ls -al >  list. ...

最新文章

  1. 深度学习项目代码阅读建议
  2. 浏览Github必备的5款神器级别的Chrome插件
  3. QQ vs 360的战争之我见
  4. dubbo+zookeeper与 eureka的区别
  5. SAP License:决胜职场先决条件 白领们必须要懂得的人际经
  6. 2008总有一种恐惧让你泪流满面
  7. SpringMVC form中commandName报错问题
  8. 主成分分析在生命科学研究中的应用
  9. 华丽成长为IT高富帅、IT白富美(五)
  10. python调用pandas保存excel
  11. 多层交换机静态路由实验
  12. React中文文档 8. 列表 Key
  13. 如何学习一种开发框架
  14. 某app登录协议逆向分析
  15. html 文字右侧属性,HTML标签及属性大全
  16. android自定义刻度线,Android自定义控件之刻度尺控件
  17. linux下如何拷贝软链接
  18. 智慧教室系统--重点设备监控系统
  19. 使用john 1.9 破解centos7密码
  20. (转)国企,私企与外企利弊通观--关键时刻给应届毕业生及时点拨

热门文章

  1. C 语言内联汇编介绍
  2. 简介I/O向量、sendv、writev
  3. mutex的加锁与解锁问题
  4. 高并发核心Selector详解
  5. 互斥锁、自旋锁和自适应自旋锁
  6. STM32开发 -- 烧写/启动模式
  7. php 保护变量,保护PHP中的“包含污染”变量
  8. 如何让区块链连接外面的世界
  9. Part 1 – Reverse engineering using Androguard
  10. sparkmllib scala GBDT Demo