手机版
你好,游客 登录 注册
背景:
阅读新闻

Linux基础知识:管道输出

[日期:2016-09-06] 来源:Linux社区  作者:men_wen [字体: ]

管道输出

1.命令输出结果

这里写图片描述
正确输出如下,其他输出为错误输出
这里写图片描述
以非root用户执行以下操作:

<1>重定向正确输出

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

<2>追加正确输出

find /etc -name passwd  >>  file    

这里写图片描述

<3>重定向错误输出

find /etc -name passwd  2> file

<4>追加错误输出

find /etc -name passwd  2>> file    

这里写图片描述

<5>重定向所有输出

find /etc -name passwd  &> file

<6>追加所有输出

find /etc -name passwd  &>> file    

这里写图片描述

<7>“改邪归正”输出

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

2.管道

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

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

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

这里写图片描述

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

这里写图片描述

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

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

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

这里写图片描述

<4> | tee 复制输出

这里写图片描述

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-09/134932.htm

linux
相关资讯       Linux管道  Linux管道输出  管道输出 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款