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 20:23
下一篇 2015-04-22 01:00

相关推荐

  • Linux不同发行版之间的联系与区别

    Linux发行版有商业版、社区版两类。两者的共同点都是GNU/Linux发行版,区别在于商业版是由商业公司维护,社区版是社区组织维护。由于linux发行版都要遵循GPL协定,任何人都有使用、共享、修改软件源代码的自由,所以商业版的收入主要来自向企业提供支持服务,它的软件基本都是免费的。

    Linux干货 2018-03-04
  • Redhat kickstart 无人值守安装

                       Redhat kickstart 无人值守安装 一、PXE       PXE工作于Client/Server的网络模式,支持可以通…

    系统运维 2016-09-21
  • shell脚本编程初步入门

    shell脚本编程初步入门    说到shell脚本编程,那我们就来先看下shell,shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统内核的一部分,但它调用了系统核…

    Linux干货 2016-08-15
  • Linux Kernel

    Linux Kernel 概述:文章将主要介绍Linux 内核的相关信息,包括内核各组成部分的详细介绍,其中有内核信息的获取命令,uname;内核模块管理类命令:lsmod,modinfo,modprobe,insomd,rmmod;ramdisk生成的相关命令,mkinitrd和dracut命令;以及linux中的两个为文件系统 /proc和/sys。最后…

    Linux干货 2016-09-19
  • 负载均衡PHP应用(实现WordPress)

    一、实验目的:负载均衡PHP应用 二、逻辑构建:   三、实验需要:4台虚拟机,一台作为客户端,一台作为VS,两台作为RS 四、实验环境:VS的DIP要与RS的IP在同一个私网内,RS的默认网关为DIP;VS则要开启路由转发功能echo 1>/proc/sys/net/ipv4/ip_forword,注意防火墙和selinux都要关闭 五、实…

    2017-05-09
  • bash小脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@centos6 scripts]# cat systeminfo.sh #!/bin/bash HostName=`uname -n` Ipv…

    Linux干货 2016-08-15