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 复制输出到指定位置

来源:oschina
链接:https://my.oschina.net/u/4389791/blog/4405287








