标准I/o重定向和管道

Posted 饕鬄。。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准I/o重定向和管道相关的知识,希望对你有一定的参考价值。

一级标题

标准I/o重定向和管道

二级标题

三种I/o设备
1.标准输入和输出
程序:指令+数据

读入数据input
输出数据output

标准输入---0(默认接收来自终端窗口的输入)
标准输出---1(默认输出到终端窗口)
标准错误---2(默认输出到终端窗口)

二级标题

2.把I/o重定向至文件
I/O重定向即改变默认位置
标准输出与标准错误可以重定向到文件
COMMOND 操作符 FILE

1>  或者 >   标准输出如果文件存在覆盖原有的内容不存在新建
2>    标准错误输出
&>      把所有输出重定向到文件
set  - C  : 禁止对已经存在文件使用覆盖重定向,强制覆盖输出,则使用 >|
set  +C  :允许覆盖
>>    可以在原有内容上追加内容
2>> 追加标准错误重定向至文件


标准标准输入重定向
< 实现输入重定向。输入重定向不经常使用,因为大多数命令都以参数的形式在命令行上指定输入文件文件名,尽管如此,当使用一个不接受文件名为输入参数的命令,而需要的输入又是在一个已存在的文件里,就可以使用输入重定向解决问题。
tr命令

  选项说明:
      -c, -C, –complement 取字符集补集。
       -d, –delete 删除集合1中的字符而不是转换
      -s, –squeeze-repeats 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
      -t, –truncate-set1 先删除第一字符集较第二字符集多出的字符



     \\NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)
      \\\\ 反斜杠
      \\a Ctrl-G 铃声
      \\b Ctrl-H 退格符
      \\f Ctrl-L 走行换页
      \\n Ctrl-J 新行
      \\r Ctrl-M 回车
      \\t Ctrl-I tab键
       \\v Ctrl-X 水平制表符


     [:alnum:] 所有的字母和数字
     [:alpha:] 所有字母
     [:blank:] 水平制表符,空白等
     [:cntrl:] 所有控制字符
     [:digit:] 所有的数字
     [:graph:] 所有可打印字符,不包括空格
     [:lower:] 所有的小写字符
     [:print:] 所有可打印字符,包括空格
     [:punct:] 所有的标点字符
     [:space:] 所有的横向或纵向的空白
     [:upper:] 所有大写字母  


标准输入重定向

把多行重定向
  cat > f1.log <<EOF(终止词)
      > 123
      >fff
      >dsf
      >EOF (结束)

二级标题

使用管道
管道命令操作符是:”|”,它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入.

 基本格式: 指令1 | 指令2 | …


 【提醒注意】:

 1.管道命令只能处理前一条指令的正确输出,不能处理错误输出;
 2.管道命令的后一条指令,必须能够接收标准输入流命令才能执行。
 
 管道中的- 符号
  tar -cvf - /home | tar -xvf -

  tee命令
  可以重定向到多个目标

以上是关于标准I/o重定向和管道的主要内容,如果未能解决你的问题,请参考以下文章

10标准I/O输入输出重定向及管道

标准IO重定向和管道

标准 I/O 和管道

管道及I/O重定向

标准I/O与管道

linux基础知识-I/O重定向,管道