Linux学习之管道及IO重定向

1、I/O重定向:修改默认的输入和输出设备

    stdout/输出重定向,代码为0:改变送出的数据信道(stdout),使之输出到指定档案

        >:将输出内容以覆盖方式保存到指定的文件中,例如将ls /命令执行的结果保存在file文件中:

    ls / > file


        >>:将输入内容以追加的方式保存在指定文件中,例如原有file中以存在某些内容,而是用>>追加写入

stdin/输入重定向,代码为1:改变读入的数据信道(stdin),是指从指定的文件读入

        <:从指定的文件读入数据

        <<:Here Document,亦及指在此处建立文档

stderr/标准错误输出,代码为2:当我们执行命令时可能会因为命令写错或其他问题导致命令执行失败,此时的输出结果为错误输入,自然不能以标准输出来重定向

        2>:将错误的信息以覆盖方式保存在指定的文件中

        2>>:将错误的信息以追加方式保存在指定文件中

需要注意的是正确的输入信息和错误的输出信息都是属于输出,但不是同一个机制,由于linux命令的执行状态结果为0式表示执行正确,为1表示错误,而2表示为错误

使用&>或2>&1可以将标准输出和标准错误输出保存在同一个文件中

/dev/null为数据黑洞,我们可以将无用的信息,不想要的输出信息一同输出至此目录

2、| 管道:上一个命令的结果作为下一个命令的输入

    cat inittab | wc -l

    使用cat查看inittab内容后交给wc来统计共有多少行,管道可以使用多个,第一条命令的结果作为第二条的输入,第二条的结果作为第三条的输入,以此类推


本文出自 “杆儿男” 博客,请务必保留此出处http://wtime.blog.51cto.com/8829658/1530604

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。