码迷,mamicode.com
首页 > 其他好文 > 详细

IO重定向及管道

时间:2019-10-12 17:04:04      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:定向   源文件   write   HERE   har   style   出现   rom   输出重定向   

IO重定向:

  程序=指令+数据,程序自身也存在IO

  可用于IO的设备,参照一切皆文件的哲学思想

    可用于输入的设备:文件(键盘设备、文件系统上的常规文件、网卡等)

    可用于输出的设备:文件(显示器、文件系统上的常规文件、网卡等)

  程序的数据流有以下几种:

    输入数据流:<-- 标准输入(stdin),默认为键盘

    输出数据流:-->标准输出(stdout),默认为显示器

    错误输出流:-->错误输出(stderr),默认为显示器

  文件描述符(file descriptor,fd):

    标准输入:0

    标准输出:1

    错误输出:2

  输出重定向:

    >:覆盖输出(危险操作,不会进行询问)

    >>:追加输出

技术图片

    set命令(仅对当前shell进程有效):

      ~]# set-C:表示禁止覆盖输出重定向至已存在的文件,若想强制覆盖输出可使用符号:   >| 

      ~]# set+C:关闭上述特性

技术图片

  错误输出流重定向:

    2>:参照输出重定向

    2>>

技术图片

  合并正常输出流与错误输出流:

    1):&>,&>>

    2):COMMAND > /PATH/TO/SOMEFILE 2>&1

        COMMAND >> /PATH/TO/SOMEFILE 2>&1

  输出重定向中的特殊设备:/dev/null ——数据黑洞

    它丢弃一切写入其中的数据(但报告写入操作成功)

  输入重定向:

    <:用于某些无法携带参数的命令

      tr命令:translate or delete characters

        转换或删除字符,即把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位(一一对应)换位SET2中出现的字符,该操作不会修改源文件,仅在输出显示中做出修改

        使用格式:tr [OPTION]... SET1 [SET2]

        用法1:tr SET1 SET2 < /PATH/TO/SOMEFILE

        用法2:tr -s SET < /PATH/TO/SOMEFILE, 删除文件中存在SET范围内的字符

技术图片

    <<:Here Document,表示此处创建文件

      用法:~]# cat << EOF   EOF为自定义的结束字符,通常使用EOF

                 ~]# cat  > /PATH/TO/SOMEFILE << EOF

技术图片

 

管道:

  连接程序,实现将前一个命令的输出直接定向后一个程序当作输入数据流

  使用格式:COMMAND1 | COMMAND2 | COMMAND3 | ...

技术图片

  tee命令:

    read from standard input and write to standard output and files,从标准输入读数据,但是会输出至文件和标准输出,即两道输出,通常与管道一起使用实现将数据分方向发送

  使用格式:COMMAND | tee /PATH/TO/SOMEFILE

技术图片

IO重定向及管道

标签:定向   源文件   write   HERE   har   style   出现   rom   输出重定向   

原文地址:https://www.cnblogs.com/Donquixote-Corazon/p/11658751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!