linux重定向输入输出总结

作者: 小小少年Boy | 来源:发表于2017-12-14 15:30 被阅读5次

    标准输入输出

    在 Linux 系统中:标准输入(stdin)默认为键盘输入;标准输出(stdout)默认为屏幕输出;标准错误输出(stderr)默认也是输出到屏幕(上面的 std 表示 standard)。在 BASH 中使用这些概念时一般将标准输出表示为 1,将标准错误输出表示为 2。下面我们举例来说明如何使用他们,特别是标准输出和标准错误输出。

    #ansible all -m setup输出的内容重定向保存到info.txt文件中
    $ansible all -m setup 2>&1 | tee info.txt
    

    0:表示标准输入
    1:表示标准输出
    2:表示标准错误信息输出
    | : 表示管道,上一条命令的输出,作为下一条命令参数
    & : 表示任务在后台执行
    && :表示前一条命令执行成功时,才执行后一条命令
    || :表示上一条命令执行失败后,才执行下一条命令

    '<':支持输入重定向

    #将hadoop-hadoop-jobtracker-brix-00.out的内容作为test.sh的输入
    $sh test.sh < hadoop-hadoop-jobtracker-brix-00.out
    

    '>':支持输出重定向

    将内容全局覆盖式的加入文件,相当于删除该文件并重新建立该文件,再写入的效果

    #将ls * 的所有信息输出到文件test.txt中
    $ls * > test.txt 
    

    '>!':如果存在则覆盖

    '>&':执行时屏幕上所产生的任何信息写入指定的文件中

    '>>':追加到文件中

    '>>&':屏幕上的信息追加到文件中

    tee指令

    tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件

    [root@boy1 apache]# tee --help
    Usage: tee [OPTION]... [FILE]...
    Copy standard input to each FILE, and also to standard output.
    
      -a, --append              append to the given FILEs, do not overwrite
      -i, --ignore-interrupts   ignore interrupt signals
          --help     display this help and exit
          --version  output version information and exit
    
    If a FILE is -, copy again to standard output.
    
    GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
    For complete documentation, run: info coreutils 'tee invocation'
    

                               20171214-Boy
    

    相关文章

      网友评论

        本文标题:linux重定向输入输出总结

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