Linux下的文件输入输出管理

1.文件输入输出的定义

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

输出分为:

  • 正确输出 stdout (标准正确输出)标号为1
  • 错误输出 stderr (标准错误输出)标号为2
    Linux下的文件输入输出管理_第1张图片
    这两种输出都会被系统定向到字符设备中

2.如何管理输入

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

1)<

[输入重定向]
Linux下的文件输入输出管理_第2张图片

tr ‘a-z’ ‘A-Z’ < lyx :[把文件lyx里的内容定向到tr程序中]
Linux下的文件输入输出管理_第3张图片

2)<<

[多行录入]

tr ‘a-z’ ‘A-Z’ << EOF
<
<
< EOF
Linux下的文件输入输出管理_第4张图片

3.如何管理输出

1)输出重定向

> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
  • >
    Linux下的文件输入输出管理_第5张图片
  • 2>
    Linux下的文件输入输出管理_第6张图片
  • &>
    Linux下的文件输入输出管理_第7张图片
    注意:重定向输出后会覆盖原文件(图中文件lyx)里的内容

2)追加

>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
  • >>
    Linux下的文件输入输出管理_第8张图片
  • 2>>
    Linux下的文件输入输出管理_第9张图片
  • &>>
    Linux下的文件输入输出管理_第10张图片
    注意:追加和重定向功能类似,但追加管理输出不会覆盖原文件内容

3)管道符 |

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

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

Linux下的文件输入输出管理_第12张图片

你可能感兴趣的:(笔记)