Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向-阿里云开发者社区

开发者社区> 开发与运维> 正文

Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向

简介:  1 管道和重定向     1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能     2 在Linux中几乎所有的命令返回的数据都是纯文本,而纯文本形式的...


 1 管道和重定向

    1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能

    2 在Linux中几乎所有的命令返回的数据都是纯文本,而纯文本形式的数据绝大多数是以命令形式输入

    3 多命令协作就是通过管道和重定向来完成的

    4 命令行的shell的数据流定义如下

        名称            说明               编号                 默认

        stdin         标准输入            0                     键盘

        stdout       标准输出            1                     终端

        stderr        标准错误            2                     终端

     5 命令通过stdin接收参数或数据,通过stdout和stderr来输出结果或错误

 

 2 重定向

    1 > ,将标准的输出重定向到文件,如果本来就有这个文件则会进行覆盖

       比如我们利用echo "haha" > output ,这个会把输出的输出到output,然后在echo "Linuxcast" > output则会覆盖 

              


    2 >> ,将标准的输出重定向到文件,如果本来就有这个文件则会进行追加到后面

       比如我们利用echo "tmpLinuxcast" >> output ,这个会把输出的输出追加到output

       


    3 2>,将标准的错误重定向到文件,如果本来就有则会覆盖

       比如我们利用ls -ld www.google.com 2> output,那么我们会把错误输出到output

       


    4 我们可以利用2>&1 来将标准的输出和标准的错误重定向到某个文件

    5 我们可以利用<来实现重定向标准的输入,但是用的比较少


 3 管道 |

     1 grep 命令来从查找某个纯文本文件里面包含的关键字的文件

        用法:grep 关键字 文件

     2 将标准的输出stdout作为另外一个命令的标准输入stdin

        比如我在家目录输出所有的文件的详细信息,那么我们利用管道来从这个输出的信息中来grep包含关键字的文件

        



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章