ubuntu操作系统学习笔记之管道和重定向

来源:互联网 发布:网络培训机构北京 编辑:程序博客网 时间:2024/05/15 01:26

不要重复发明轮子


    开源文化的核心理念之一就是不要重复发明轮子,
    很多的开源软件都是现有 软件、代码、功能 的重新组合,
    就像用现有的零件装配机器一样, 
    源代码的开放和共享 让这成为了可能, 同时极大提高了效率和生产力


引入


    命令简单且单一

        在Linux中, 大多数命令 功能简单且单一;
        我们可以将不同的命令组合起来 完成复杂的功能

    纯文本的输入输出

        因为是CLI(命令行界面),
        命令的输入数据的格式 为纯文本, 输出格式也是 纯文本

    多命令协作

        通过 管道和重定向 机制, 实现多命令协作


数据流


    命令的输入 通过 STDIN
    命令的输出 通过 STDOUT 和 STDERR
    
    STDIN
        标准输入
         0 
        键盘   
    STDOUT
        标准输出
         1 
        终端   
    STDERR
        标准错误
         2 
        终端   
            

管道和重定向


    控制数据流
    重定向
        >
            将STDOUT重定向到文件(覆盖)
            echo "123" > out.txt
        >>
            将STDOUT重定向到文件(追加)
            echo "567" >> out.txt
        2>
            将STDERR重定向到文件(覆盖)
            ls $^$^ > errout.txt
        2>>

            (追加)
        <
            重定向 STDIN
            grep root < /etc/passwd


    管道
        |
            将左边命令的STDOUT作为右边命令的STDIN
            ls -l | grep wuqinfei


    用途
        管道 通常用来组合不同命令, 以实现一个复杂的功能
        重定向 通常用来以文件的方式保存某命令的输出信息或错误信息




0 0
原创粉丝点击