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

相关推荐

  • 文件查找命令find

      在文件系统上常常需要根据文件的各种属性去查找符合条件的文件。在Linux下也有相当优异的查找命令。今天只要将find和locate。find通常不常用,因为速度慢!通常我们先使用locate来进行模糊查找,如果真找不到了,才以find来查找。为什么呢?因为locate是利用数据库来查找数据,所以速度非常快,而且并没有实际查询硬盘比较省时间。 l…

    Linux干货 2016-08-22
  • 0811linux基础小记(shell编程基础)

    1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash echo "hostname: `hostname`" echo "OS VERSION: `cat /etc/issue`" e…

    Linux干货 2016-08-15
  • day06(8-3)作业-文件权限

    第一题、三种权限rwx对文件和目录的意义     权限对文件的意义         r(read):可以读取文件的内容,如读取文本文件的内容         w(write):可以编辑、新增或者是修改文件的内容,但不含有删除文件(…

    Linux干货 2016-08-04
  • centos 7.3二进制安装mariadb10.2.8

    1 rpm -qa mariadb* 2 getent passwd mysql useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql 3 tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/cd /usr/local/ln -s mariadb…

    Linux干货 2017-10-16
  • 第二周练习与作业

    第二周作业 1、Linux上的文件管理类命令有哪些,其常用的使用方法及其相关示例演示          文件管理类命令:cp,mv,rm cp: 源文件;目标文件          [root@loc…

    Linux干货 2017-08-09
  • N28-第二周

    文件管理命令: cp命令:copy    源文件;目标文件; 单源复制:cp [OPTION]… [-T] SOURCE DEST多源复制:cp [OPTION]… SOURCE… DIRECTORYcp [OPTION]… -t DIRECTORY SOURCE… 单源复制:cp [OPTION]…

    Linux干货 2017-12-17