LINUX cmd >/dev/null 2>&1 解释

本文解析了Shell命令中cmd>/dev/null2>&1的作用,该命令用于将标准输出和标准错误输出同时重定向到/dev/null,从而实现命令执行过程中既不显示标准输出也不显示标准错误输出。

shell中可能经常能看到:cmd > /dev/null 2>&1
命令的结果可以通过%>的形式来定义输出,分解这个组合“>/dev/null 2>&1” 为五部分:
1:> 代表重定向到哪里,例如:echo “123″ > /home/123.txt;
2:/dev/null 代表空设备文件;
3:2 表示stderr标准错误;1 表示stdout标准输出;0 表示标准输入;

4:& 表示等同于的意思,2>&1,表示2(stderr)的输出重定向等同于1(stdout);

5:cmd的正常输出表示1(stdout);
因此,cmd >/dev/null 2>&1也可以写成“1> /dev/null 2> &1”

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

即:

cmd > /dev/null 2>&1 标准输出和标准错误输出全部不显示;

cmd > /dev/null 可以将错误信息输出到控制台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值