重定向以及管道

描述I/O设备的重定向

       I/O重定向与管道

一个程序最基础的部分就是输入数据,通过指令对其进行加工,输出出一个结果。在这个过程中,我们输入的数据(Input)和我们输出的数据(Output)合称为I/O设备。通常数据输入来自于我们的键盘和鼠标,即人为的输入。我们称这个输入叫做标准输入(STDIN)–0;而输出到终端端口的正确结果我们叫做标准输出(STOUT)–1;输出的错误结果叫做标准错误(STERR)–2。I/O重定向的意思就是改变默认的输入输出方式,即重新定义输入的方式,使标准输入不仅仅来自键盘,也可以来自上一个命令的标准输出等。

       把标准输出和错误输出重定向到文件

改变文件的输出位置,将其输出到指定文件中,其中包括标准输出和标准错误。对于标准输出我们可以通过 ” >  ”来重定向(原文件可不存在),对于标准错误通过” 2> ” 来重定向。具体操作格式为:

命令 操作符号 文件名

通过某些命令产生新的输出,通过操作符号将其输入到文件中(而不是默认的输出到屏幕中)

也可以通过符号”&>和2>&1″将两种输出重定向到同一文件。若目标文件中有数据,符号”>”将清空原有数据并覆盖。可使用符号”>>”追加到目标文件,标准错误同理。

      从文件中导入标准输入

从文件中导入标准输入,不在通过人为的敲打字符,我们称之为输入重定向,通过符号”<“实现。可通过输入重定向将需要的数据通过命令来输入。具体操作格式:

命令  操作符号 文件名

通过某些命令来改变文件的数据使其作为标准输入。(例如tr命令)

       tr命令

tr   [optins]    [set1] [set2]

tr命令可删除或转换字符(将第一字符集set1的内容转换为set2),通过tr命令我们可以修改文本后将其作为标准输入。例如tr  ‘a-z’  ‘A-Z’就是将指定文本的小写字母转换为大写字母。tr命令也可预定义字符集,即tr  ‘[:lower:]’  ‘[:upper:]’

常用的选项

-c :取字符集的补集

-s:将连续重复的字符转换为一个字符

-d:删除字符集里面的字符

-t:将第一字符集的内容转换成第二字符集的内容

      单行重定向与多行重定向

使用单行重定向时,在某些交互式重定向中(如’cat  >  file’),输入文本后需要Ctrl+d退出,而且输出的是纯文本,并不能识别命令。多行重定向可以改变这些缺陷,多行重定向就是在文本开始时设置终符’>>EOF'(此时EOF为终止符)只有输入终止符才算结束输出,而且多行重定向中可识别命令,使重定向的文本内容更加灵活。

管道

管道技术就是使用符号”|”将多个命令链接在一起,使前一个命令的标本输出作为后面命令的标准输入。例如cmd1|cmd2|cmd3中,首先将cmd1的标准输出作为cmd2的标准输入,再将其标准输出作为cmd3的标准输入,以此类推。管道技术默认不可转换标准错误,我们可以通过”2>&1和|&”将其转换。

我们也可以在管道中使用tee命令将输出重定向到多个目标。即在管道中加入”tee -a file”,这样我们就可以在管道的中间查看和记录不同阶段的输出,便于在出现问题时排除故障。

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88644

(0)
yoyiccccyoyicccc
上一篇 2017-11-19 17:29
下一篇 2017-11-19 20:41

相关推荐

  • linux 基础3

    linux 基础3

    Linux干货 2018-03-25
  • 第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]# egrep '^(fedora|root|user1):' /etc/passwd |cut -d: -f1,7 root:/bin/bash user1…

    Linux干货 2017-02-04
  • 第十六周

    1、源码编译安装LNMP架构环境;  安装必要的包组和依赖的包 yum groupinstall “Development Tools” “Development Libraries”  yum install wget openssl-devel ncurses-devel cmake p…

    Linux干货 2017-08-15
  • 马哥教育网络班22期第一周课程练习1-未闻花名

    一、cpu架构 计算机体系结构: 运算器、控制器(cpu还包含寄存器)、存储器(内存)、输入设备(键盘、硬盘等)、输出设备(显示器、硬盘等) cpu组成: 核心部件:运算器(加法器)、控制器()、寄存器(由于数据总线复用,为cpu保存现场,过程数据记录)。 辅助部件:一、二、三级缓存:弥合CPU和内存速率不匹配。频率控制器? 地址总线:内存寻址。 数据总线:…

    Linux干货 2016-08-15
  • 用户管理简述

    组内用户管理汇总 基于组来管理用户 相关命令:gpasswd groupmems 添加用户 gpasswd -a wangcai group :向group里添加用户 wangcai gpasswd -M wangcai,xiaoqiang group :向group里批量添加xiaoqiang wangcai ,不过这个方式会覆盖之前的组员 groupme…

    2017-02-23
  • VIM编辑器入门

    VIM简介 VIM是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 VIM的使用 在介绍基本使用前,先了解下VIM的基本模式 基本模式可分为三种:命令模式、输入模式、末行模式 命令模式:Vim启动后的默认模式,通过输入指令完成对应的编辑操作。输入模式和末行模式从命令模式进入&nb…

    Linux干货 2016-04-05