美文网首页Linux
【Linux】重定向

【Linux】重定向

作者: 胖佳儿Clara | 来源:发表于2018-10-27 22:52 被阅读0次

    参考资料:
    1.视频课程《Linux运维》
    2.书籍PDF版《Linux运维 Web集群实战》
    3.https://ryanstutorials.net/linuxtutorial/piping.php
    4.学习笔记保存在幕布:这里有完整Linux学习笔记哦~


    重定向

    管道和重定向的作用是保持数据在程序和文件之间流动。

    比如说:通常情况下,我们会在屏幕上显示输出,这在大多数情况下很方便,但有时我们可能希望将其保存到文件中以保存为记录,输入另一个系统或发送给其他人。

    大于运算符(>)向命令行指示我们希望程序输出(或发送到STDOUT的任何内容)保存在文件中而不是打印到屏幕上。如果我们重定向到不存在的文件,它将自动为我们创建。但是,如果我们保存到已经存在的文件中,那么它的内容将被清除,然后新的输出保存到它。

    如果我们不希望原有文件被覆盖,我们可以使用(>>)运算符将新数据附加到文件中。

    (<)及(<<)运算符同理。

    而管道(|),该操作符可以将数据从一个程序发送到另一个程序。管道的作用是将左侧程序的输出作为右侧程序的输入。

    摘要:

    >
    将输出保存到文件。
    >>
    将输出附加到文件。
    <
    从文件中读取输入。
    2>
    重定向错误消息。
    |
    将一个程序的输出作为输入发送到另一个程序。

    本文主要介绍重定向及其相关内容。

    • >或1> 输出重定向:把前面输出的东西输入到后面的文件中,会清除文件原有内容
    • >>或1>> 追加输出重定向:把前面输出的东西追加到后边的文件尾部,不会清除原有文件
    • 0<或< 输入重定向
      例子:
    echo '1 2 3 4' >oldboy.txt 
    xargs -n 2 <old​boy.txt ( xargs -n 2意思即为两个一组分两组,<即把oldboy.txt文件的内容输入给左边处理 )
    1 2
    3 4​​
    
    • 0<<或<< 追加输入重定向:后跟字符串,用来表示输入结束,也可以用Ctrl+d来结束输入。
      例子:
    cat >>/data/oldboy.txt <<EOF (其中cat是命令>>追加输出重定向,把命令放到文件里,然后EOF EOF把内容装到文件里)
    i am studying linux
    EOF​​​
    
    • 2> 错误重定向:把错误信息输出到后面的文件中,会删除文件原有内容
    • 2>>错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容
    • 说明: 箭头的指向就是数据的流向
    • 数字说明
      • 标准输入:0,0<<或0<,数据流向从左到右
      • 标准正常输出:1 ,1>>或1>,数据(正确数据)流向从右到左
      • 标准错误输出:2,2>或2>>,数据(错误数据)从左到右
        例子:
    echo oldgirl 1>a.txt 2>b.txt 
    cat b.txt
    -bash​​​​ cho: command not found
    echo oldgirl 1>a.txt 2>a.txt(正确错误都放一个文件)
    echo oldgirl 1>a.txt 2>&1(把错误的输出放到和1的输出一样的里面,此方法为常用方法,推荐方法)
    echo oldgirl &>a.txt (把正确错误的全放到a里)
                ​
    

    相关文章

      网友评论

        本文标题:【Linux】重定向

        本文链接:https://www.haomeiwen.com/subject/xjhstqtx.html