linux命令基础知识 管道流,Linux基础知识:管道输出

管道输出

1.命令输出结果

cb1409c9167a81f13591cdc04dc62b94.png

正确输出如下,其他输出为错误输出

ae077570423f29ef026affe435af9e95.png

以非root用户执行以下操作:

<1>重定向正确输出

find /etc -name passwd > file

“ > ”符号会覆盖掉file文件原有的内容, 要想向file文件追加内容,使用“ >> ”符号

<2>追加正确输出

find /etc -name passwd >> file

d7de61a27a21519aecc35a45239c2492.png

<3>重定向错误输出

find /etc -name passwd 2> file

<4>追加错误输出

find /etc -name passwd 2>> file

8a0368af537786cd4c53c18384afea7f.png

<5>重定向所有输出

find /etc -name passwd &> file

<6>追加所有输出

find /etc -name passwd &>> file

babaf27d9becea3bd2a160ca6873d373.png

<7>“改邪归正”输出

所谓”改邪归正”,即,2>&1,将标准错误输出2重定向到标准输出中,”2>”就是标准错误输出,”&”是为了让bash将1解释成标准输出而不是文件名字为1的文件。

2.管道

管道符号“ | ”,其作用是,在前一个命令的基础上,在交给下一个命令进一步处理(前面的命令的输出当作后面的命令输入)

注:管道只允许正确的输出通过

<1>将错误标准输出解释为正确输出,通过管道

a558e6aa3badcc72c777f05f84f729f6.png

<2>将错误标准输出扔到“垃圾桶”,正确输出通过管道

39718a20dc80720069bbab32a9ca24bb.png

<3> > /dev/null 2>&1和2>&1 > /dev/null的区别

> /dev/null 2>&1含义:

首先表示标准输出重定向到空设备文件,接着,标准错误输出重定向标准输出,因为之前标准输出已经重定向到空设备文件,所以标准错误输出也重定向到空设备文件,于是,管道什么也没有通过

2>&1 > /dev/null 含义:

首先,标准错误输出重定向标准输出,再次之前标准输出并没有重定向,所以标准错误重定向为的标准输出被“忽略”,然后,标准输出重定向到空设备文件,于是,通过管道的就是之前被剩下的输出

d612c444a16c6fc4003ac054d4ba543a.png

<4> | tee 复制输出

fce815fb94fe6f3c317ba453bbcc0a24.png

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值