bash功能特性五 重定向和管道

一、管道

    使用“|”符号来实现管道功能;管道可以实现在一行中处理使用管道符号连接的多个命令,后面的命令使用前面命令的输出结果做为处理对象。

1.png

2.png

二、数据流重定向

    数据输入和输出的类型:

        标准输入(stdin):代码为0,默认设备为键盘;

        标准输出(stdout):代码为1,默认设备为显示器;

        标准错误输出(stderr):代码为2,默认设备为显示器。

    重定向就是将数据不使用默认的设备进行输入或输出。

    1、输出重定向

        标准输出重定向:

            COMMAND > POSITION:覆盖输出

            COMMAND >> POSITION:追加输出

1.png

2.png

3.png

        标准错误重定向:

            COMMAND 2> POSITION:覆盖输出

            COMMAND 2>> POSITION:追加输出

4.png

        标准错误的追加重定向与标准输出的追加重定向相类似,此处不再进行演示。

        合并重定向:

            COMMAND &> POSITION

            COMMAND > POSITION 2> &1

4.png

        分别重定向:

            COMMAND > POSITION 2> POSITION2

5.png

    2、输入重定向

        COMMAND < FILE:以FILE中的内容来替代键盘输入;

        COMMAND << STRING:以STRING为输入结束符;

6.png

7.png

    3、重定向的应用

        输入重定向经常用于不能处理参数的命令,例如tr命令。

        tr命令格式:tr [OPTION]… SET1 [SET2] 

        作用:用于删除文字或进行文字的替换。

            OPTIONS:

                -d:删除指定的字符;

                -s:替换掉重复的字符;

8.png1.png    4、多道输出

        使用tee命令来实现多道输出,即将命令的结果在屏幕上显示的同时,也在指定的文件中保存;使用-a选项可以在文件中追加重定向的内容。

7.png

    5、数据黑洞

       所有流向数据黑洞的数据都将被丢弃,使用/dev/null这个设备来实现此功能。

1.png

    6、重定向的控制

        set -C  关闭输出重定向的覆盖功能

        set +C 打开输出重写向的覆盖功能

        >|:在关闭了输出重定向的覆盖功能时,依然执行覆盖操作

2.png

 

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3262

(0)
petmasterpetmaster
上一篇 2015-04-21
下一篇 2015-04-22

相关推荐

  • CentOS系统启动流程与grub

    本文主要讲述CenOS系统启动的整个流程。 对于CentOS系统来说,整个启动过程可分为4个阶段,分别是:加点自检,加载MBR,加载内核并执行初始化信息,初始化用户空间。下面就具体来描述每个过程都做了什么。 一.加点自检(power on system test,POST) 任何一种操作系统的启动,第一步必定是加点自检,主要功能是装载在硬件芯片CMOS之上的…

    Linux干货 2016-11-29
  • 网络23期心得

    1、描述计算机的组成及其功能 计算机系统是由五大部分组成:运算器、控制器、存储器、输入设备、输出设备   运算器(Datapath):运算器的功能是对数据进行各种算术去处和逻辑运算,即对数据进行加工处理。   控制器(Control):控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、…

    Linux干货 2016-09-19
  • Linux任务计划

    Linux任务计划主要分为分为两种分别是一次性任务计划和周期性任务计划实现工具主要是at和crontab下面将详细介绍任务计划工具的使用。 1、at命令一次性任务计划 at命令是由atd服务提供的其主程序包是atd在CentOS6上可以使用service atd start命令来启动在CentOS7上需要使用systemctl start atd.servi…

    Linux干货 2016-09-11
  • 第三周博客作业

    who useradd usermod groupadd

    Linux干货 2017-12-17
  • 程序包管理

    Windows与Linux不兼容 库级别虚拟化: Linux:WINE Windows:Cygwin   程序包管理器: debian:deb,dpt redhat:rpm,rpm   Archlinux Gentoo   获取rpm程序包的途径: 1、系统发行版光盘或官方的服务器 centos镜像: http://mirror…

    Linux干货 2018-01-04
  • linux文本处理三剑客-sed

    sed 是什么? sed是一种流编辑器,它是文本处理中非常中的工具,在linux中被称为linux文本处理三剑客之一,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文…

    Linux干货 2017-03-15