Linux下的文件输入输出管理

泪湿孤枕 提交于 2020-08-17 17:23:21

1.文件输入输出的定义

输入:我们通过使用硬件设备(鼠标、键盘等)在系统中录入的字符
输出:系统接收到功能字符后,经过进程的处理而产生的字符

输出分为:

  • 正确输出 stdout (标准正确输出)标号为1
  • 错误输出 stderr (标准错误输出)标号为2
    在这里插入图片描述
    这两种输出都会被系统定向到字符设备中

2.如何管理输入

(外界传递到程序中的信息)

1)<

[输入重定向]
在这里插入图片描述

tr ‘a-z’ ‘A-Z’ < lyx :[把文件lyx里的内容定向到tr程序中]
在这里插入图片描述

2)<<

[多行录入]

tr ‘a-z’ ‘A-Z’ << EOF
<
<
< EOF
在这里插入图片描述



3.如何管理输出

1)输出重定向

> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
  • >
    在这里插入图片描述
  • 2>
    在这里插入图片描述
  • &>
    在这里插入图片描述
    注意:重定向输出后会覆盖原文件(图中文件lyx)里的内容

2)追加

>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
  • >>
    在这里插入图片描述
  • 2>>
    在这里插入图片描述
  • &>>
    在这里插入图片描述
    注意:追加和重定向功能类似,但追加管理输出不会覆盖原文件内容

3)管道符 |

[把前一条命令的输出变成输入 传递到下一条命令 进行操作]

  • 管道只处理正确输出
    在这里插入图片描述
  • 2>&1 把编号为2的输入转换到编号为1的输出中
    在这里插入图片描述
  • 管道在一条命令中可以使用多次
  • tee 复制输出到指定位置

在这里插入图片描述

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