shell之“/dev/null 21”
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”相关推荐
- Linux Shell 1/dev/null 21 含义
shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件 :代表重定向到哪 ...
- linux下详解shell中/dev/null 21
前言 相信大家经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>& ...
- Linux Shell下”/dev/null 21“相关知识说明
0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 & = ...
- 再谈shell之“/dev/null 21”
今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚! shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以 ...
- shell中经常能看到的:/dev/null 21
shell中可能经常能看到:>/dev/null 2>&1 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "1111" & ...
- Linux:shell脚本命令: /dev/null 21 的理解
1.可以将/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和 ...
- Shell: /dev/null 21详解
1,可以将/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和 ...
- linux /dev/null,Shell中 /dev/null和 /dev/null 21
先用简单的语言回答题主的问题: shell程序中 2> /dev/null 代表什么意思? 答:"2> /dev/null" 代表忽略掉错误提示信息. 如题 2> ...
- shell中可能经常能看到:/dev/null 21
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:e ...
最新文章
- 以太坊RLP编码规则
- 计算MySQL的内存峰值公式
- Niblack二值化方法的实现
- app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...
- CCIE-LAB-SDN-第四篇-SD-WAN-2
- 同步应用(python 版)
- M6315模块连接阿里云物联网MQTT通讯
- 高响应比优先调度算法 java_操作系统高响应比优先模拟算法
- 单网卡实现 双IP 双网段(内外网)同时运行
- 如何撰写商业计划书(精简)
- 模拟新浪微博自动登陆
- 地下城与勇士正在自动连接频道服务器,地下城与勇士DNF进不去提示“正在连接服务器”解决方案...
- 当cmd里安装不了Appium-Python-Client时,Requirement already satisfied: Appium-Python-Client in
- 【OJ每日一练】1049 - 矩阵对角线元素之和 v1.0
- LUA调用C(一)-----CAPI
- VSCode Run code插件运行机制和配置文件的意思解释
- Idea 合并分支只选取部分文件的办法
- win10每次开机后,D、E、F盘就不见了,需要进入“磁盘管理”重新分配
- 让代码看起来更舒服,选择适合的字体。 (转)--我推荐的是:Bitstream Vera Sans Mono
- FPGA的UART信息回显
热门文章
- 【性格心理学】为什么我在关键时刻总是紧张?
- asp.net mvc 学习
- 【转】Winform输入法控制
- [原]SSL 开发简述(Delphi)
- php smarty关闭缓存,php+Smarty的缓存操作
- 7 centos 源码安装samba_在CentOS7.6里编译安装PHP7.4(最新版),很详细
- oracle添加语句 commit,Oracle COMMIT语句
- python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(二)...
- 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
- linux内核定义的常用信号6,Linux中的信号