zoukankan      html  css  js  c++  java
  • IO重定向及管道

    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

  • 相关阅读:
    silverlight的TranslateTransform 的使用
    720 JavaScript函数的this指向
    JavaScript数组
    JavaScriptDOM事件
    JavaScript流程控制语句
    CSS布局案例
    JavaScriptDOM基础
    JavaScriptDOM事件
    JavaScript基础语法
    JavaScript的String对象相关方法
  • 原文地址:https://www.cnblogs.com/Donquixote-Corazon/p/11658751.html
Copyright © 2011-2022 走看看