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

命令的结果可以通过%>的形式来定义输出

分解这个组合:“>/dev/null 2>&1” 为五部分。

1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt
2:/dev/null 代表空设备文件
3:2> 表示stderr标准错误
4:& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
5:1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null"

因此,>/dev/null 2>&1也可以写成“1> /dev/null 2> &1”

那么本文标题的语句执行过程为:
1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1 :接着,标准错误输出重定向 到 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

说清楚了吗,大家理解下吧!

顺便对比述说下这么用的好处!

最常用的方式有:

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

shell之“/dev/null 21”相关推荐

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

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

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

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

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

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

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

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

  5. ​shell中经常能看到的:/dev/null 21

    shell中可能经常能看到:>/dev/null 2>&1  /dev/null 代表空设备文件  > 代表重定向到哪里,例如:echo "1111" & ...

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

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

  7. Shell: /dev/null 21详解

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

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

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

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

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

最新文章

  1. 以太坊RLP编码规则
  2. 计算MySQL的内存峰值公式
  3. Niblack二值化方法的实现
  4. app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...
  5. CCIE-LAB-SDN-第四篇-SD-WAN-2
  6. 同步应用(python 版)
  7. M6315模块连接阿里云物联网MQTT通讯
  8. 高响应比优先调度算法 java_操作系统高响应比优先模拟算法
  9. 单网卡实现 双IP 双网段(内外网)同时运行
  10. 如何撰写商业计划书(精简)
  11. 模拟新浪微博自动登陆
  12. 地下城与勇士正在自动连接频道服务器,地下城与勇士DNF进不去提示“正在连接服务器”解决方案...
  13. 当cmd里安装不了Appium-Python-Client时,Requirement already satisfied: Appium-Python-Client in
  14. 【OJ每日一练】1049 - 矩阵对角线元素之和 v1.0
  15. LUA调用C(一)-----CAPI
  16. VSCode Run code插件运行机制和配置文件的意思解释
  17. Idea 合并分支只选取部分文件的办法
  18. win10每次开机后,D、E、F盘就不见了,需要进入“磁盘管理”重新分配
  19. 让代码看起来更舒服,选择适合的字体。 (转)--我推荐的是:Bitstream Vera Sans Mono
  20. FPGA的UART信息回显

热门文章

  1. 【性格心理学】为什么我在关键时刻总是紧张?
  2. asp.net mvc 学习
  3. 【转】Winform输入法控制
  4. [原]SSL 开发简述(Delphi)
  5. php smarty关闭缓存,php+Smarty的缓存操作
  6. 7 centos 源码安装samba_在CentOS7.6里编译安装PHP7.4(最新版),很详细
  7. oracle添加语句 commit,Oracle COMMIT语句
  8. python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(二)...
  9. 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
  10. linux内核定义的常用信号6,Linux中的信号