一.标准输入类型
-
输出即把相关对象通过输出设备(显示器等)显示出来
-
linux中用0代表标准输入,1代表标准正确输出,2代表标准错误输出
类型 | 设备 | 设备文件名 | 文件描述符 |
---|---|---|---|
标准输入 | 键盘 | /dev/stdin | 0 |
标准输出 | 显示器 | /dev/stdout | 1 |
标准错误输出 | 显示器 | /dev/stderr | 2 |
二.输出重定向
- 正常输出是把内容输出到显示器上,而输出重定向是把内容输出到文件中
1.标准输出重定向
语法 : 例子 | 作用 |
---|---|
[命令] > [文件] : ls > a.txt | 以覆盖的方式, 将命令的正确输出结果指定到文件或设备中 |
[命令] >> [文件] : ls >> a.txt | 以追加的方式, 将命令的正确输出结果指定到文件或设备中 |
2.标准错误输出重定向
语法 : 例子 | 作用 |
---|---|
[错误命令] 2> [文件] : lss 2> a.txt | 以覆盖的方式, 将命令的错误输出结果指定到文件或设备中 |
[错误命令] 2>> [文件] : lss 2> a.txt | 以追加的方式, 将命令的错误输出结果指定到文件或设备中 |
3.正确输出和错误输出同时保存
- 第一种语法
语法 | 作用 |
---|---|
[命令] &> [文件] | 以覆盖的方式, 将命令正确和错误输出结果指定到文件中 |
[命令] &>> [文件] | 以追加的方式, 将命令正确和错误输出结果指定到文件中 |
- 第二种语法
语法 | 作用 |
---|---|
[命令] > [文件] 2>&1 | 以覆盖的方式, 将命令正确和错误输出结果指定到文件中 |
[命令] >> [文件] 2>&1 | 以追加的方式, 将命令正确和错误输出结果指定到文件中 |
- 将结果写入两个不同的文件
语法 | 作用 |
---|---|
[命令] > [文件1] 2>[文件2] | 将正确输出覆盖入文件1, 将错误输出覆盖入文件2 |
[命令] >> [文件1] 2>>[文件2] | 将正确输出追加入文件1, 将错误输出追加入文件2 |
三.应用示例
1.标准输出重定向
- 查看a.txt的内容放入b.txt
2.标准错误输出重定向
- 将错误命令运行的错误输出放入到a.txt
3.正确和错误输出放入同一文件: 方法一
- 语法: [命令] &> [文件] / [命令] &>> [文件]
- 查看两个文件,a.txt存在, xxx不存在, 将输出都放入b.txt
4.正确和错误输出放入同一文件: 方法二
-
语法: [命令] > [文件] 2>&1 / [命令] >> [文件] 2>>&1
-
查看两个文件,a.txt存在, ooo不存在, 将输出都放入b.txt
5.将正确和错误输出分别放入两个不同的文件
- 查看存在的 a.txt 和不存在的 GGG , 正确输出放入 c.txt, 错误输出放入 d.txt