标准I/o重定向和管道

那年仲夏 提交于 2020-03-29 10:11:21

一级标题

标准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命令
  可以重定向到多个目标

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!