美文网首页
IO重定向、管道及文本处理工具

IO重定向、管道及文本处理工具

作者: 羿曦 | 来源:发表于2018-08-16 12:36 被阅读0次

(1)bash的快捷键

           Ctrl+l:相当于clear,清屏操作
           Ctrl+a:将光标跳转至命令首部
           Ctrl+e:将光标跳转至结尾处
           Ctrl+c:取消命令执行
           Ctrl+u:删除光标所在之前的命令
           Ctrl+k:删除光标所在处至命令尾部的所有内容

(2)bash中的I/O重定向及管道

           程序=指令+数据
                读入数据:Input
                输出数据:Output
           Note:每一个打开的文件都有一个文件描述符(fd)
           标准输入:键盘(如果不指定标准输入,则默认为键盘),文件描述符为0
           标准输出:显示器(如果不指定输出位置,则默认输出在显示器)文件描述符为1
           标准错误输出:显示器,文件描述符为2

                 I/O重定向:改变输入输出位置
                 输出重定向:COMMAND > NEW_POS(通常是文件),COMMAND >> NEW_POS
                 >:覆盖重定向,将输出内容覆盖至目标文件
                 >>:追加重定向,将输出内容追加至目标文件末尾
            例子:
                ls /etc > /tmp/etc.out #将"ls /etc"的结果输出到"/tmp/etc.out"
                ls /var > /tmp/etc.out #将"ls /var"的结果输出到"/tmp/etc.out"从而覆盖原有的etc.out
                ls /var/log >> /tmp/etc.out #将"ls /var/log"内容追加输出到"/tmp/etc.out"

            #set -C:禁止将内容覆盖输出至已有文件中,这样比较安全,防止将重要文件覆盖(仅对当前shell有效)
                强制覆盖:>|
            #set +C:将不允许覆盖重定向功能关闭      


       标准错误输出重定向:
            2>:覆盖,重定向错误输出数据流
            2>>:追加,重定向错误输出数据流

       标准输出和错误输出各自定向至不同位置
            COMMAND > NEW_POS1 2> NEW_POS2 #如果命令成功则将输出保存至NEW_POS1,如果命令失败,则将错误输出保存至
                                            NEW_POS2中

        输入重定向: < (下列"tr"的例子中有关于输入重定向的语句,可以结合命令理解一下)                                      

         tr命令:转换或删除字符(这个命令后期会比较常用的,我建议你最好常用,然后记住怎么用)
          tr[OPTION]...SET1[SET2](从标准输入读数据,而标准输入就是键盘)
            例子:
              1 [root@bogon ~]# tr abc ABC
                hello #手动输入hello,查看结果
                hello #输入hello后的结果
                alpha #手动输入alpha
                AlphA #结果"a"就会替换为了"A"
                abcdefg #手动输入abcdefg
                ABCdefg #结果中输入的"abcdefg"中的"abc"全都替换为了大写
                只替换对应的字符集,你也可以再去试试

            2 [root@bogon ~]# tr 'a-z' 'A-Z' < /etc/fstab #将/etc/fstab中所有小写字母替换为大写,这就是
                                                              输入重定向,本来只能从标注输入读取,我们改变了
                                                              它的读取方向,改为/etc/fstab文件了

            -d:删除指定的字符
            例子:
                [root@bogon ~]#tr -d abc
                abcdd #手动输入要处理的字符
                dd    #最后只会剩下dd,因为"-d"选项后面指定了要删除的"abc"字符         
管道:将前一个命令的结果作为标出输出到下一个命令上,将第二个命令结果输出到第三个命令上执行,以此类推.....
    COMMAND1 | COMMAND2 | COMMAND3 |.... 
Note:最后一个命令会在当前shell进程中的子shell进程中执行;
    例子:
        [root@bogon ~]# echo '$PATH' | tr 'a-z' 'A-Z' | tr -d 'U'
            解释:打印'$PATH'变量,将结果做"tr"处理(将所有小写字母转换为大写),然后再将结果传送到下一个"tr"处理
                "-d"删除所有"U"字母!              

     tee命令:从标准输入读数据,输出到屏幕上同时也可以输出到文件中
        tee [OPTION]... [FILE]...
            例子:
                [root@bogon ~]# tee /tmp/tee.out  #结果输出到了屏幕上,同时也输出到了tee.out文件中
                first line.       #手动输入的字符
                first line.       #输入后输出的字符
                www.test.com      #手动输入的字符
                www.test.com      #输入后输出的字符          

相关文章

  • IO重定向、管道及文本处理工具

    (1)bash的快捷键 (2)bash中的I/O重定向及管道

  • Linux之bash

    bash的基础特性之 IO重定向及管理 ] IO重定向: 输入重定向: 管道 bash基础特性之自动补充命令 ba...

  • IO重定向及管道

    1.IO重定向 (1)可用于输入的设备:文件(键盘设备、磁盘、网卡等)(2)可用于输出的设备:文件(显示器、磁盘、...

  • IO重定向及管道

    tr,tee 程序的IO 简单的说程序由指令(命令)和数据(操作对象)组成,在linux上一切皆文件,程序操作对象...

  • Linux系统介绍(四)IO重定向与管道

    IO重定向(IO redirection) Linux的有一个强大之处就是可以通过管道(Pipe)跟IO重定向将一...

  • IO重定向及管道009

    程序=指令+数据 程序的输入流有三种:标准输入流(stdin): 键盘等;标准输出流(stout): 显示器;错误...

  • 第07章重定向管道

    输出重定向案例 > < 脚本中使用重定向 2.输入重定向及结合案例 管道 | 重定向和管道的符号对比。重定向输出到...

  • linux管道及重定向

    一 .管道及重定向 I/O重定向 0, 1, and 2, known as standard input, st...

  • 管道命令

    参考linux shell 管道命令(pipe)使用及与shell重定向区别、管道命令 管道命令操作符是:”|”,...

  • Linux上的文件管理及用户权限管理

    1.bash的基础特性: bash的基础特性:命令的执行状态结果 2.IO重定向及管道 3.目录管理类的命令:mk...

网友评论

      本文标题:IO重定向、管道及文本处理工具

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