shell中可能经常能看到:>/dev/null 2>&1 

/dev/null 代表空设备文件 
> 代表重定向到哪里,例如:echo "1111" > /home/a.txt 
    1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 
    2 表示stderr标准错误 
    & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 
来看看本文标题的语句: 
1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端
2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

我们经常会在UNIX系统下的一些脚本中看到类似”2>&1″这样的用法,例如“/path/to/prog 2>&1 > /dev/null &”,那么它的具体含义是什么呢? 
   UNIX有几种输入输出流,它们分别与几个数字有如下的对应关系:0-标准输入流(stdin),1-标准输出流(stdout),2-标准错误流 (stderr)。”2>&1″的意思就是将stderr重定向至stdout,并一起在屏幕上显示出来。如果不加数字,那么默认的重定向 动作是针对stdout(1)的,比如”ls -l > result”就等价于”ls -l 1 > result”。这样便于我们更普遍性的理解重定向过程。 
  下面举例说明: 
#cat std.sh 
#!/bin/sh 
echo “stdout” 
echo “stderr” >&2

#/bin/sh std.sh 2>&1 > /dev/null 
stderr

#/bin/sh std.sh > /dev/null 2>&1

   第一条命令的输出结果是stderr,因为stdout和stderr合并后一同重定向到/dev/null,但stderr并未被清除,因此仍将在屏 幕中显示出来;第二条命令无输出,因为当stdout重定向至/dev/null后,stderr又重定向到了stdout,这样stderr也被输出到 了/dev/null。

转载于:https://blog.51cto.com/weimouren/1715973

​shell中经常能看到的:/dev/null 21相关推荐

  1. /dev/null 21 详解

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

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

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

  3. linux /dev/null,Shell中 /dev/null和 /dev/null 21

    先用简单的语言回答题主的问题: shell程序中 2> /dev/null 代表什么意思? 答:"2> /dev/null" 代表忽略掉错误提示信息. 如题 2> ...

  4. shell中可能经常能看到:/dev/null 21

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

  5. Shell中的/dev/null 21 与 21 /dev/null 与/dev/null 的区别

    转自:http://blog.csdn.net/reyleon/article/details/11595985 默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕). ...

  6. shell之“/dev/null 21”

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

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

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

  8. Linux Shell下”/dev/null 21“相关知识说明

    0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1  2:表示错误输出(stderr) command >/dev/null 2>&1 &  = ...

  9. Linux:shell脚本命令: /dev/null 21 的理解

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

最新文章

  1. 第一次写KMP的体会
  2. 终端html页面,HTML5的终端适配
  3. nginx、fastCGI、php-fpm关系梳理(转载参考)
  4. 一次性配置VS2015属性的方法,新工程无需重新配置
  5. 今天学习啦所谓的高级语言啦
  6. 27日直播预告丨Oracle运营商行业生产实践分享
  7. 一公顷等于多少平方米
  8. Java中timer的schedule()和schedualAtFixedRate()函数的区别
  9. python学生信息管理系统
  10. 在龙芯机器上编译OpenJDK8
  11. gitlab自定义头像设置
  12. 在RHEL6上针对rm命令做审计
  13. 修改Android手机的分辨率和屏幕密度
  14. STM32—TIMx输出PWM信号驱动MG996R舵机
  15. Could not resolve placeholder
  16. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾 + MQ3酒精 + MQ7一氧化碳+ OLED + 阿里云物联网平台 + 微信小程序
  17. uni-app老年模式字体设置思路
  18. 常用的第三方SDK介绍(搜集中)
  19. 秒速五厘米(为情怀而补的题)
  20. 【作业】第一章课后作业

热门文章

  1. 《Java技术》第九次作业计科1501赵健宇-IO
  2. 启动hadoop时报root@localhost's password: localhost: Permission denied, please try again.错误。...
  3. 微软研发流程(ALM)管理培训会议(比亚迪汽车)
  4. 《人月神话》阅读笔记--02
  5. 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV
  6. Extjs time
  7. DEDE文章列表加上序号效果
  8. linux用于查看文件内容 tail、cat、more、less、head 、sed 命令
  9. Qt-Focus事件处理,重写qpushbutton实现背景切换鼠标样式及eventFilter的用法
  10. uni-app实现传值路径乱码的问题